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('your Email @lisizhang.com', '邮件标题', '测试邮件内容,如果收到此邮件,表示mail函数成功启用!'); if($send){ echo 'true'; }else{ echo 'false'; } ?>
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!