Comment configurer XAMPP pour envoyer du courrier depuis localhost?
256
J'essaie d'envoyer du courrier depuis localhost. mais je ne suis pas en mesure d'envoyer le courrier de localhost, donc quelqu'un peut-il me dire comment reconfigurer mon xampp pour envoyer du courrier de localhost
Impossible de vous aider si vous ne nous donnez pas la configuration actuelle.
Arkascha
1
Est-ce toujours pertinent avec Mercury inclus (ApacheFriends XAMPP 1.8.2)? Je pense que oui, mais s'il y a des gens qui préfèrent Mercure, veuillez l'indiquer ci-dessous. :) Merci!
Vous pouvez envoyer du courrier depuis localhost avec le paquet sendmail, le paquet sendmail est intégré dans XAMPP. Donc, si vous utilisez XAMPP, vous pouvez facilement envoyer du courrier depuis localhost.
par exemple, vous pouvez configurer C:\xampp\php\php.iniet c:\xampp\sendmail\sendmail.inigmail pour envoyer du courrier.
dans C:\xampp\php\php.inirechercher extension=php_openssl.dllet supprimer le point-virgule depuis le début de cette ligne pour que SSL fonctionne pour gmail pour localhost.
dans le fichier php.ini trouver [mail function]et modifier
Vous avez maintenant terminé !! créer un fichier php avec la fonction mail et envoyer du courrier depuis localhost.
PS: n'oubliez pas de remplacer my-gmail-id et my-gmail-password dans le code ci - dessus. N'oubliez pas non plus de supprimer les clés en double si vous avez copié les paramètres ci-dessus. Par exemple, commentez la ligne suivante s'il y a un autre sendmail_path : sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"dans le fichier php.ini
N'oubliez pas également de redémarrer le serveur à l'aide du panneau de configuration XAMMP pour que les modifications prennent effet.
autre que les configs ci-dessus, j'avais besoin de mettre à jour mon sendmail glob.com.au/sendmail
kaz
1
J'ai dû passer de XAMMP 1.7.7 à 2.8.2.3 - sendmail est inclus dans le nouveau XAMPP. J'ai essayé d'utiliser un sendmail plus récent avec 1.7.7 il y a quelques mois et je n'ai pas réussi à le faire fonctionner - j'ai finalement mordu la balle et utilisé le nouveau XAMPP et cela fonctionne comme décrit.
VanAlbert du
2
Je pense que l'emplacement C: \ xampp \ php \ php.ini fait référence aux environnements Windows. Pour mac, regardez dans xamppfiles / etc pour votre fichier php.ini.
Paul Trotter
3
La réponse @Vikas était la meilleure, mais veuillez noter que l'utilisation du ssl par défaut sur smtp_port peut ne pas fonctionner dans certaines conditions, en utilisant 465 comme la réponse de Thirumalai murugan l'a déclaré réellement corrigé pour moi
Temitayo
2
Cela fonctionne parfaitement avec XAMPP version 7.0.15 N'oubliez pas de supprimer le point-virgule de celui-ci et de vous connecter également au même identifiant Gmail que vous avez configuré, puis accédez au lien ci-dessous myaccount.google.com/lesssecureapps?pli=1 et Autoriser les applications moins sécurisées: ON Vous pouvez maintenant envoyer le courrier directement à partir de l'hôte local
XAMPP
35
Dans XAMPP v3.2.1 à des fins de test, vous pouvez voir les e-mails que le XAMPP envoie dans XAMPP / mailoutput. Dans mon cas sur Windows 8, cela ne nécessitait aucune configuration supplémentaire et était une solution simple pour tester les e-mails
Et si cela ne fonctionne pas, vérifiez votre c:\xampp\php\php.ini, recherchez [mail function]et décommentez la ligne qui mentionne mailtodisk.exe. Gardez toutes les autres lignes de cette section en commentaire, sauf mail.add_x_headercelle.
Tim Malone
3
En complément de mon commentaire ci-dessus, pour les versions les plus récentes de XAMPP, vous devrez peut-être ajouter manuellement la ligne mailtodisk. Cela devrait ressembler à ceci:sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
Tim Malone
Un addendum supplémentaire pour commenter de @TimMalone. J'ai trouvé que le courrier ne serait écrit dans XAMPP / mailoutput que si vous exécutez XAMPP en tant qu'administrateur
sohail
@sohail: Vous n'avez pas besoin d'exécuter XAMPP en tant qu'administrateur mais vous devez autoriser tous les utilisateurs à écrire dans le dossier XAMPP / mailoutput (clic droit sur dossier> sécurité> tous les utilisateurs> modifier les autorisations> accès complet)
cheppsn
@TimMalone J'ai appliqué les deux suggestions mais rien dans le répertoire mailoutput même après tant d'essais
Vipul Hadiya
25
Il est très simple d'envoyer des e-mails sur un hôte local ou un serveur local
Remarque: j'utilise le logiciel de serveur de messagerie de test sous Windows 7 64 bits avec Xampp installé
Il suffit de télécharger l'outil de test du serveur de messagerie et de l'installer selon les instructions données sur son site Web Test Mail Server Tool
Vous devez maintenant modifier seulement deux lignes sous php.inifichier
Trouver [mail function] et supprimez les points-virgules qui se avant;smtp = localhost
Mettez le point-virgule avant sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
Vous n'avez rien d'autre à changer, mais si vous ne recevez toujours pas d'e-mails, vérifiez les SMTP port , le numéro de port doit être le même.
La méthode ci-dessus concerne les paramètres par défaut fournis par le logiciel Xampp.
C'est une très bonne solution, rapide et facile et je peux me mettre directement au travail. Se farfouiller avec des serveurs de messagerie localement est un problème quand ce n'est que pour le développement.
AdheneManx
1
Merci, j'ai aussi utilisé cela pour tester mon projet.
Piseth Sok
19
Vous devez configurer SMTP sur votre serveur. Vous pouvez utiliser gratuitement G Suite SMTP by Google:
<?php
$mail =newPHPMailer(true);// Send mail using Gmailif($send_using_gmail){
$mail->IsSMTP();// telling the class to use SMTP
$mail->SMTPAuth=true;// enable SMTP authentication
$mail->SMTPSecure="ssl";// sets the prefix to the servier
$mail->Host="smtp.gmail.com";// sets GMAIL as the SMTP server
$mail->Port=465;// set the SMTP port for the GMAIL server
$mail->Username="[email protected]";// GMAIL username
$mail->Password="your-gmail-password";// GMAIL password}// Typical mail data
$mail->AddAddress($email, $name);
$mail->SetFrom($email_from, $name_from);
$mail->Subject="My Subject";
$mail->Body="Mail contents";try{
$mail->Send();
echo "Success!";}catch(Exception $e){// Something went bad
echo "Fail :(";}?>
La réponse @Vikas était la meilleure, mais veuillez noter que l'utilisation du ssl par défaut sur smtp_port peut ne pas fonctionner dans certaines conditions, en utilisant 465 comme cette réponse l'a indiqué l'a réellement corrigé pour moi
Temitayo
J'ai utilisé la réponse @Vikas mais j'ai utilisé un fragment du vôtre, c'est-à-dire en utilisant 465 comme emtp_port. Bon travail quand même
Temitayo
Erreur fatale: classe «PHPMailer» introuvable dans C: \ xampp \ htdocs \ myweb \ email_script.php sur la ligne 82
Shafizadeh
8
Comme dans mon expérience personnelle, j'ai trouvé qu'une chose très similaire à la réponse de Vikas Dwivedi fonctionnera très bien.
Étape 1 (fichier php.ini)
Dans le fichier php.ini situé dans xampp\php\php.ini. Modifiez les paramètres comme suit:
Ce code est utilisé pour le courrier provenant de votre hôte local XAMPP et de votre compte Gmail. Ce code est très facile et fonctionne pour moi, essayez vous-même.
NB: Le port doit être inutilisé. Veuillez faire attention à ce que certaines applications, comme Skypeles ports par défaut, empêchent l'envoi de courrier.
Vous pouvez empêcher Skype d'utiliser le port 80. Son sur les paramètres de connexion de
Skype
0
Je viens de passer plus d'une heure à essayer de faire fonctionner ça. pour tout le monde ayant le même problème avec toutes les suggestions postées ne fonctionnant pas: vous devez redémarrer Apache dans votre interface XAMPP! juste redémarrer XAMPP ne fonctionnera pas !!
J'ai essayé de nombreuses façons d'envoyer un courrier à partir de l'hôte local XAMPP, mais comme XAMPP n'a pas de certificat SSL, ma demande de courrier électronique a été bloquée par Gmail ou des fournisseurs de services SMTP similaires.
Ensuite, j'ai utilisé MailHog pour le serveur smtp local, ce que vous devez faire est simplement de l'exécuter. localhost: 1025 est pour le serveur smtp, localhost: 8025 est pour le serveur de messagerie, où vous pouvez vérifier les e-mails que vous avez envoyés.
voici mon code:
require_once "src/PHPMailer.php";
require_once "src/SMTP.php";
require_once "src/Exception.php";
$mail =newPHPMailer\PHPMailer\PHPMailer();//Server settings
$mail->SMTPDebug=3;// Enable verbose debug output
$mail->isSMTP();// Send using SMTP
$mail->Host='localhost';// Set the SMTP server to send through
$mail->Port=1025;// TCP port to connect to// $mail->Username = ''; // SMTP username// $mail->Password = ''; // SMTP password// $mail->SMTPAuth = true; // Enable SMTP authentication// $mail->SMTPSecure = 'tls'; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` also accepted//Recipients
$mail->setFrom('[email protected]','Mailer');
$mail->addAddress('[email protected]','Joe User');// Add a recipient// Content
$mail->isHTML(true);// Set email format to HTML
$mail->Subject='Here is the subject';
$mail->Body='This is the HTML message body <b>in bold!</b>';
$mail->AltBody='This is the body in plain text for non-HTML mail clients';if(!$mail->Send()){
echo "Mailer Error: ". $mail->ErrorInfo;}else{
echo "Message sent!";}
Réponses:
Vous pouvez envoyer du courrier depuis localhost avec le paquet sendmail, le paquet sendmail est intégré dans XAMPP. Donc, si vous utilisez XAMPP, vous pouvez facilement envoyer du courrier depuis localhost.
par exemple, vous pouvez configurer
C:\xampp\php\php.ini
etc:\xampp\sendmail\sendmail.ini
gmail pour envoyer du courrier.dans
C:\xampp\php\php.ini
rechercherextension=php_openssl.dll
et supprimer le point-virgule depuis le début de cette ligne pour que SSL fonctionne pour gmail pour localhost.dans le fichier php.ini trouver
[mail function]
et modifierMaintenant ouvert
C:\xampp\sendmail\sendmail.ini
. Remplacez tout le code existant dans sendmail.ini par le code suivantVous avez maintenant terminé !! créer un fichier php avec la fonction mail et envoyer du courrier depuis localhost.
PS: n'oubliez pas de remplacer my-gmail-id et my-gmail-password dans le code ci - dessus. N'oubliez pas non plus de supprimer les clés en double si vous avez copié les paramètres ci-dessus. Par exemple, commentez la ligne suivante s'il y a un autre sendmail_path :
sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
dans le fichier php.iniN'oubliez pas également de redémarrer le serveur à l'aide du panneau de configuration XAMMP pour que les modifications prennent effet.
Pour gmail, veuillez consulter https://support.google.com/accounts/answer/6010255 pour autoriser l'accès à partir d'applications moins sécurisées.
la source
Dans XAMPP v3.2.1 à des fins de test, vous pouvez voir les e-mails que le XAMPP envoie dans XAMPP / mailoutput. Dans mon cas sur Windows 8, cela ne nécessitait aucune configuration supplémentaire et était une solution simple pour tester les e-mails
la source
c:\xampp\php\php.ini
, recherchez[mail function]
et décommentez la ligne qui mentionnemailtodisk.exe
. Gardez toutes les autres lignes de cette section en commentaire, saufmail.add_x_header
celle.sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
Il est très simple d'envoyer des e-mails sur un hôte local ou un serveur local
Remarque: j'utilise le logiciel de serveur de messagerie de test sous Windows 7 64 bits avec Xampp installé
Il suffit de télécharger l'outil de test du serveur de messagerie et de l'installer selon les instructions données sur son site Web Test Mail Server Tool
Vous devez maintenant modifier seulement deux lignes sous
php.ini
fichier[mail function]
et supprimez les points-virgules qui se avant;smtp = localhost
sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
Vous n'avez rien d'autre à changer, mais si vous ne recevez toujours pas d'e-mails, vérifiez les
SMTP port
, le numéro de port doit être le même.La méthode ci-dessus concerne les paramètres par défaut fournis par le logiciel Xampp.
la source
Vous pouvez tester l'envoi de courrier sur votre PC sans Internet
vous devez utiliser Papercut cette application simple pour tester l'envoi de courrier. et vous n'avez rien à configurer.
Exécutez-le et essayez de tester l'envoi de courrier:
test_sendmail.php
et vous verrez ceci:
J'espère que vous passerez une bonne journée. vous pouvez me trouver sur Youtube pour plus de tutoriel Piseth Sok
Acclamation!
la source
Vous devez configurer SMTP sur votre serveur. Vous pouvez utiliser gratuitement G Suite SMTP by Google:
En savoir plus
PHPMailer
ici .la source
Comme dans mon expérience personnelle, j'ai trouvé qu'une chose très similaire à la réponse de Vikas Dwivedi fonctionnera très bien.
Étape 1 (fichier php.ini)
Dans le fichier php.ini situé dans
xampp\php\php.ini
. Modifiez les paramètres comme suit:Désactivez les autres variables sous
mail funciton
en les mettant;
avant. par exemple;smtp_port=25
Étape 2 (fichier sendmail.ini)
Dans sendmail.ini situé dans xampp \ sendmail \ semdmail.ini, changez comme suit:
Étape 3 (code)
Créez un fichier php et utilisez ce qui suit:
Remarquer
la source
Ce code est utilisé pour le courrier provenant de votre hôte local XAMPP et de votre compte Gmail. Ce code est très facile et fonctionne pour moi, essayez vous-même.
Sous le changement dans le fichier php.ini
Ci-dessous, modifier le fichier sendmail.ini
Veuillez écrire le code bien-aimé dans votre fichier PHP pour envoyer un e-mail
la source
Vous devez définir un
SMTP
serveur et un port pour cela. Tout sauf comme l'envoi de mails à partir d'hôtes en direct.Ceci est un lien utile à ce sujet .
la source
Je viens de passer plus d'une heure à essayer de faire fonctionner ça. pour tout le monde ayant le même problème avec toutes les suggestions postées ne fonctionnant pas: vous devez redémarrer Apache dans votre interface XAMPP! juste redémarrer XAMPP ne fonctionnera pas !!
la source
J'ai essayé de nombreuses façons d'envoyer un courrier à partir de l'hôte local XAMPP, mais comme XAMPP n'a pas de certificat SSL, ma demande de courrier électronique a été bloquée par Gmail ou des fournisseurs de services SMTP similaires.
Ensuite, j'ai utilisé MailHog pour le serveur smtp local, ce que vous devez faire est simplement de l'exécuter. localhost: 1025 est pour le serveur smtp, localhost: 8025 est pour le serveur de messagerie, où vous pouvez vérifier les e-mails que vous avez envoyés.
voici mon code:
Lien vers le référentiel MailHog Github
la source
en plus de toutes les réponses, veuillez noter que dans le
sendmail.ini
dossier:en raison d'un nouveau problème de sécurité google, vous devez suivre ces étapes pour créer un mot de passe d'application à cet effet:
la source