Maison >développement back-end >tutoriel php >[PHP] La fonction mail() échoue lors de l'envoi d'emails (commande sendmail et postfix)
1. La fonction mail() de PHP peut envoyer des e-mails, mais elle n'a jamais été testée avec succès. Résumons maintenant les raisons :
La fonction mail de PHP est basée sur la commande sendmail, qui doit être installée. logiciel postfix
2. Vérifiez l'élément de configuration php sendmail_path, qui est la commande sous-jacente appelée par la fonction mail, php -i|grep sendmail
3. . Installer Seul le logiciel postfix peut utiliser la commande sendmail, apt-get install postfix
Une fois l'installation du logiciel terminée, testez s'il peut être envoyé avec succès sur la ligne de commande
Créez un texte eml. fichier, le contenu est le plus Les principaux en-têtes du protocole de messagerie
Subject: title-testing From: shihan2@sopans.com To: 630892807@qq.com Sorry, I'm testing. ~_~
/usr/sbin/sendmail -t -i -f shihan2@sopans.com < 2.eml
Ce qui suit le paramètre -f correspond à la valeur de, si Si la valeur de ne correspond pas, une erreur sera signalée. Vous pouvez vérifier le fichier journal /var/log/mail.log pour voir la cause de l'erreur et si elle a réussi
Si la valeur de ne correspond pas, le journal affichera des informations rapides Les informations correspondantes après un envoi réussi, 250ok4. Modifiez le fichier de configuration php, utilisez la fonction PHP pour envoyer des emails J'ai modifié ce fichier de configuration, /etc/php/7.0/cli/php.ini , et le paramètre from est écrit à mort Pendant le test, si vous n'écrivez pas ceci à partir de l'adresse e-mail, l'envoi échoue toujours, demandant la syntaxe 501 : MAIL FROM : 208700f394e4cf40a7aa505373e0130b (en réponse à la commande MAIL FROM)) , le mail de et la lettre de ne correspondent pas Vérifiez Configuration Créer un fichier php
<?php $to='630892807@qq.com'; $subject = '测试一下'; $message = '我来测试'; $headers[] = 'From: shihan2@sopans.com'; mail($to, $subject, $message, implode("\r\n", $headers));Test réussi Tutoriels associés :
Un ensemble complet de vidéos tutoriels sur la programmation PHP de l'entrée au master
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!