Maison >développement back-end >Problème PHP >Que faire si l'e-mail php ne parvient pas à être envoyé

Que faire si l'e-mail php ne parvient pas à être envoyé

藏色散人
藏色散人original
2021-09-18 09:38:555961parcourir

Solutions à l'échec des e-mails PHP : 1. Configurez l'adresse du serveur SMTP et les informations de port appropriées dans php.ini 2. Utilisez le programme sendmail pour envoyer des e-mails.

Que faire si l'e-mail php ne parvient pas à être envoyé

L'environnement d'exploitation de cet article : système Linux5.9.8, PHP version 7.1, ordinateur Dell G3

Que dois-je faire si l'e-mail php ne parvient pas à être envoyé

Erreur d'envoi d'e-mail PHP ?

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in

Solution :

La fonction Mail de PHP utilise le service SMTP pour envoyer des e-mails. En d'autres termes, vous devez configurer l'adresse du serveur SMTP et les informations de port appropriées dans le php.ini. Si vous devez envoyer un e-mail sur cette machine, c'est-à-dire

SMTP = localhost
smtp_port = 25

, vous devez configurer le service SMTP sur votre propre machine. Vous pouvez essayer d'ouvrir le service SMTP d'IIS.

Expliquez que la fonction mail() en php utilise le programme sendmail pour envoyer des e-mails, et sendmail -t -i est généralement un programme intégré du système Linux/Unix, mais le système Windows n'a pas ce programme, vous ne pouvez donc pas utiliser la fonction mail () pour envoyer un e-mail.

Utilisez mail() pour envoyer des e-mails sous Windows

1 Le système d'envoi d'e-mails doit disposer du service SMTP. Installez le composant « Service SMTP » sous « Windows Server 2003 » :
A. "Ajouter et supprimer des composants Windows"->"Application Server"->"Internet Information Services (IIS)" cliquez sur "Détails".
B. Sélectionnez « Service SMTP » pour installer.
2. Configurez SMTP :
A. Ouvrez le "Gestionnaire des services Internet (IIS)" et recherchez le "Serveur virtuel SMTP par défaut".
B. Faites un clic droit sur le service et sélectionnez "Propriétés".
C. Cliquez sur l'entrée « Accès » dans la boîte contextuelle « Propriétés du serveur virtuel SMTP par défaut » et sélectionnez le bouton « Authentification ».
D. Dans la boîte contextuelle « Authentification », sélectionnez uniquement « Accès anonyme » et ne laissez rien d'autre sélectionné.
E. Revenez à l'élément du tableau « Accès », sélectionnez le bouton « Relais », cliquez sur le bouton « Ajouter » dans la boîte contextuelle « Restriction de relais » et ajoutez l'adresse IP de 127.0.0.1.
3. Modifiez "php.ini":
---------------------------------

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = me@example.com

-- --- --------------
4. Exécutez ce programme et connectez-vous à l'adresse e-mail indiquée dans "$toaddress" pour vérifier l'e-mail. .

$toaddress = 'xuzhang@mascatv.com';
$subjects = 'test the php mail';
$mailcontent = 'Onlu test the php mail!';
$fromaddress = 'From: me@localhost.com';
mail($toaddress,$subjects,$mailcontent,$fromaddress);

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!

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