J'essaie d'envoyer un courrier de localhost. mais je ne peux pas envoyer le courrier de localhost alors quelqu'un peut-il me dire comment reconfigurer mon xampp pour envoyer du courrier de localhost
Vous pouvez envoyer des messages depuis localhost avec le paquet sendmail, ce dernier étant inbuild dans XAMPP. Donc, si vous utilisez XAMPP, vous pouvez facilement envoyer un courrier de localhost.
par exemple, vous pouvez configurer C:\xampp\php\php.ini
et c:\xampp\sendmail\sendmail.ini
pour que Gmail envoie des messages.
dans C:\xampp\php\php.ini
trouvez extension=php_openssl.dll
et supprimez le point-virgule à partir du début de cette ligne pour que SSL fonctionne pour gmail pour localhost.
dans le fichier php.ini, trouvez [mail function]
et changez
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = [email protected]
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
Ouvrez maintenant C:\xampp\sendmail\sendmail.ini
. Remplacez tout le code existant dans sendmail.ini par le code suivant
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=my-gmail-password
[email protected]
Maintenant vous avez fait !! créer un fichier php avec la fonction mail et envoyer un mail de localhost.
PS: n’oubliez pas de remplacer my-gmail-id et my-gmail-password dans le code ci-dessus. De plus, n'oubliez pas 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
Pensez également à redémarrer le serveur à l'aide du panneau de configuration XAMMP pour que les modifications prennent effet.
Pour gmail, vérifiez https://support.google.com/accounts/answer/6010255 pour autoriser l'accès à partir d'applications moins sécurisées.
Pour envoyer un courrier électronique sous Linux (avec le paquet sendmail) via Gmail à partir de localhost, veuillez vérifier PHP + Ubuntu Envoyer un courrier électronique en utilisant le formulaire gmail localhost .
Dans XAMPP v3.2.1 à des fins de test, vous pouvez voir les courriels que XAMPP envoie dans XAMPP/mailoutput. Dans mon cas sous Windows 8, cela ne nécessitait aucune configuration supplémentaire et constituait une solution simple pour tester le courrier électronique.
C'est très simple d'envoyer des emails sur localhost 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 serveur de messagerie de test et de l’installer en suivant les instructions données sur son site Web Test Mail Server Tool
Maintenant, vous ne devez modifier que deux lignes dans le fichier php.ini
[mail function]
et supprimez le point-virgule précédant ;smtp = localhost
sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
Vous n'avez pas besoin de changer quoi que ce soit, mais si vous ne recevez toujours pas d'e-mails, vérifiez le SMTP port
, le numéro de port doit être identique.
La méthode ci-dessus concerne les paramètres par défaut fournis par le logiciel Xampp.
Vous devez configurer SMTP sur votre serveur. Vous pouvez utiliser G Suite SMTP gratuitement par Google:
<?php
$mail = new PHPMailer(true);
// Send mail using Gmail
if($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 :(";
}
?>
En savoir plus sur PHPMailer
here .
vous devriez utiliser Papercut cette application simple pour tester l'envoi de courrier. et vous n'avez besoin de rien configurer.
Il suffit de le lancer et d’essayer d’envoyer un message:
test_sendmail.php
<?php
$to = "[email protected]";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: [email protected]" . "\r\n" .
"CC: [email protected]";
mail($to,$subject,$txt,$headers);
?>
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!
Pour les personnes sous Windows 8, si vous voulez faire cela, je vous recommande vivement de lire ce tutoriel que j'ai trouvé: http://yogeshchaugule.com/blog/2013/configure-sendmail-wamp
Ce n'est pas écrit par moi, mais après m'être écrasé la tête contre un mur de béton pendant 2,5 heures, sans que cela fonctionne avec les erreurs les plus étranges telles que:
J'ai finalement trouvé que ce didacticiel se trouvait lors de l'installation de https://www.stunnel.org/downloads.html et de la configuration de Stunnel. Cela a finalement fonctionné.
Comme dans mon expérience personnelle, j’ai trouvé que la même chose que Vikas Dwivedi répondrait 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:
extension=php_openssl.dll
[mail function]
sendmail_path =":\xampp7\sendmail\sendmail.exe -t"
mail.add_x_header=On
Désactivez les autres variables sous mail funciton
en plaçant ;
devant elles. par exemple ;smtp_port=25
Étape 2 (fichier sendmail.ini)
Dans sendmail.ini situé dans xampp\sendmail\semdmail.ini, procédez comme suit:
smtp_server=smtp.gmail.com
smtp_port=465
smtp_ssl=auto
[email protected]
auth_password=YourPassword
Étape 3 (code)
Créez un fichier php et utilisez ce qui suit:
<?php
mail($to, "subject", "body", "From: ".$from);
?>
Avis
Si vous avez une copie installée de la dernière copie de xampp, consultez ce lien pour obtenir une documentation complète sur l'envoi de courriers électroniques via xampp. Vous devez activer Apache avant d'essayer d'accéder au lien ci-dessous.
Ce code est utilisé pour le courrier de votre hôte XAMPP localhost et de votre compte Gmail. Ce code est très facile et fonctionne pour moi, essayez vous-même.
Sous Changer dans le fichier php.ini
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = [email protected]
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
extension=php_openssl.dll
Sous Changer dans le fichier sendmail.ini
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=your-gmail-password
[email protected]
Merci d'écrire le code ci-dessous dans votre fichier PHP pour envoyer un email
<?php
$to = "[email protected]";
$subject = "Test Mail";
$headers = "From: [email protected]\r\n";
$headers .= "Reply-To: [email protected]\r\n";
$headers .= "CC: [email protected]\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '<html><body>';
$message .= '<img src="//css-tricks.com/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" />';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Email:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Type of Change:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Urgency:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>URL To Change (main):</strong> </td><td>Details</td></tr>";
$addURLS = 'google.com';
if (($addURLS) != '') {
$message .= "<tr><td><strong>URL To Change (additional):</strong> </td><td>" . $addURLS . "</td></tr>";
}
$curText = 'dummy text';
if (($curText) != '') {
$message .= "<tr><td><strong>CURRENT Content:</strong> </td><td>" . $curText . "</td></tr>";
}
$message .= "<tr><td><strong>NEW Content:</strong> </td><td>New Text</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
if(mail($to,$subject,$message,$headers))
{
echo "Mail Send Sucuceed";
}
else{
echo "Mail Send Failed";
}
?>
Vous devez définir un serveur SMTP
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 .
NB: Le port doit être inutilisé. Veillez à ce que certaines applications comme
Skype
utilisent les ports par défaut et empêchent l’envoi de courrier.
je viens de passer plus d’une heure à essayer de faire ce travail. pour tout le monde ayant le même problème avec toutes les suggestions affichées ne fonctionne pas: vous devez redémarrer Apache dans votre interface XAMPP! le simple redémarrage de XAMPP ne fonctionnera pas !!