Maison >développement back-end >Problème PHP >Comment résoudre le problème d'erreur de messagerie php
Solution à l'erreur de messagerie php : 1. Ajoutez l'adresse IP locale dans l'option relais du service SMTP ; 2. Faites un mappage de port sur la passerelle et mappez le port 25 à la machine locale.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
Comment résoudre le problème d'erreur de messagerie php ?
Problème d'erreur de fonction php mail()
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>phpinfo</title> </head> <body> <? $to = "atoat@sina.com"; $subject = "php-Mail"; $msg = "I completely understand SMTP servers now!"; $headers = "From: atoat@163.com/r/nReply-To: atoat@163.com"; mail("$to", "$subject", "$msg", "$headers"); echo "finished!"; ?> </body> </html>
Erreur :
Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for atoat@sina.com in C:/webserver/htdocs/www/mail.php on line 14
Configuration du fichier php.ini
[mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. sendmail_from = atoat@163.com
A installé le service smtp fourni avec Windows
Après avoir longuement cherché, j'ai découvert que je devais utilisez le service smtp Ajoutez l'adresse IP locale dans l'option relais
Serveur virtuel->Propriétés->Accès->Relais
Sélectionnez "Uniquement la liste suivante" => "Ordinateur unique" => Ajouter 127.0.0.1 Il n'y a pas de problème avec l'adresse locale
Il n'y a pas de problème avec le programme, mais le message n'est pas reçu immédiatement dans la boîte de réception
La raison pour laquelle je ne l'ai pas reçu est que ma machine est sur le réseau interne et ne peut pas le faire. envoyer des e-mails au réseau externe.
Solution :
Réalisez un mappage de port sur la passerelle et mappez le port 25 à la machine locale. Ou la machine a une adresse IP publique.
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!