Maison >développement back-end >tutoriel php >Que dois-je faire si la fonction de messagerie de PHP ne parvient pas à envoyer des e-mails ?

Que dois-je faire si la fonction de messagerie de PHP ne parvient pas à envoyer des e-mails ?

伊谢尔伦
伊谢尔伦original
2017-06-27 10:27:412034parcourir

La fonction mail en php est une fonction intégrée pour l'envoi d'e-mails, mais si vous souhaitez vraiment utiliser la fonction mail pour envoyer des e-mails, vous devez donner à votre système Installez le composant sendmail. Maintenant, j'ai rencontré le problème selon lequel le courrier ne peut pas envoyer d'e-mails. Jetons un coup d'œil à la solution

Le serveur précédent a été transféré ici Plus tard, j'ai. a constaté que le site Web ne pouvait pas envoyer d'e-mails en utilisant mail(), mais j'ai trouvé que sendmail était déjà installé. Si sendmail n'est pas installé, il peut être exécuté comme suit :

yum install sendmail

Par le. De cette façon, le nom d'hôte doit être défini dans un format de nom de domaine, par exemple : jb51.net, sinon le démarrage prendra beaucoup de temps lorsque vous redémarrerez sendmail, sinon vous devrez attendre longtemps Le code. est le suivant :

hostname .net

Vérifiez ensuite si sendmail fonctionne normalement. Le code est le suivant :

service sendmail status

S'il ne fonctionne pas, il peut être démarré. pour commencer. Ensuite, modifiez php.ini et créez un phpinfo dans l'environnement Web, car j'utilise lnmp.

vi /usr/local/php/etc/php.ini

Recherchez à nouveau :;sendmail_path =, appuyez sur i pour modifier. , remplacez par :

sendmail_path = /usr/sbin/sendmail -t -i

La valeur par défaut de mon système est :

sendmail_path = /usr/sbin/sendmail -t -i -f

Ce -f semble Il s'agit de désactiver la fonction mail. Après avoir supprimé -f, la fonction mail revient. à la normale. Ensuite, redémarrez le processus PHP, généralement : service php restart. code de test du script. Le code est le suivant :

Si le résultat renvoyé est faux, cela signifie que
<?php 
$send = mail(&#39;your
Email
@lisizhang.com&#39;, &#39;邮件标题&#39;, &#39;测试邮件内容,如果收到此邮件,表示mail函数成功启用!&#39;); 
if($send){ 
echo &#39;true&#39;; 
}else{ 
echo &#39;false&#39;; 
} 
?>
l'e-mail a été envoyé

. envoyé avec succès.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn