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

伊谢尔伦
Libérer: 2023-03-11 15:26:01
original
1986 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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

service sendmail status
Copier après la connexion

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
Copier après la connexion

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

sendmail_path = /usr/sbin/sendmail -t -i
Copier après la connexion

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

sendmail_path = /usr/sbin/sendmail -t -i -f
Copier après la connexion

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;; 
} 
?>
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal