Maison  >  Article  >  développement back-end  >  Que dois-je faire si je ne parviens pas à recevoir des e-mails lorsque je les envoie en utilisant la fonction mail de php ?

Que dois-je faire si je ne parviens pas à recevoir des e-mails lorsque je les envoie en utilisant la fonction mail de php ?

王林
王林original
2021-06-10 13:58:212670parcourir

Solution au problème de non-réception d'emails lors de l'envoi d'emails en utilisant la fonction mail en PHP : installez d'abord les packages sendmail et sendmail-cf ; puis éditez le fichier de configuration sendmail.mc et modifiez enfin les configurations pertinentes ; nouveau fichier de configuration, et testez-le simplement sur le terminal.

Que dois-je faire si je ne parviens pas à recevoir des e-mails lorsque je les envoie en utilisant la fonction mail de php ?

L'environnement d'exploitation de cet article : système Ubuntu 17.04, php 7.3, ordinateur thinkpad t480.

Analyse des causes :

La raison pour laquelle nous ne pouvons pas recevoir d'e-mails peut être due au manque de certaines configurations pertinentes.

Jetons un coup d’œil aux étapes spécifiques.

Nous devons d'abord installer un logiciel :

La fonction sendmail d'ubuntu peut facilement envoyer des e-mails. Ubuntu sendmail doit d'abord installer deux packages

sudo apt-get install sendmail
sudo apt-get install sendmail-cf

Remarque :

Pour utiliser les fonctions de messagerie les plus couramment utilisées sous Ubuntu, vous devez installer mailutils

Commande d'installation :

sudo apt-get install mailutils

Pour utiliser les fonctions avec pièces jointes, vous devez également installer sharutils,

sudo apt-get install sharutils;(yum install sharutils )

Pour utiliser les fonctions avec pièces jointes, vous devez également installer sharutils. 🎜>

Commande d'installation :

ps aux |grep sendmail

Commande d'entrée du terminal :

root     20978  0.0  0.3   8300  1940 ?        Ss   06:34   0:00 sendmail: MTA: accepting connections
root     21711  0.0  0.1   3008   776 pts/0    S+   06:51   0:00 grep sendmail

La sortie est la suivante :

vi  /etc/mail/sendmail.mc

Explication selon laquelle sendmail a été installé et démarré avec succès

Installé Après cela, nous devons effectuer certaines configurations associées

Sendmail n'enverra par défaut des e-mails qu'aux utilisateurs locaux. Ce n'est qu'en l'étendant à l'ensemble d'Internet qu'il pourra devenir un véritable serveur de messagerie. .

Ouvrez le fichier de macro de configuration de sendmail : /etc/mail/sendmail.mc

#cd /etc/mail
#mv sendmail.cf sendmail.cf~      //做一个备份
#m4 sendmail.mc > sendmail.cf   //>的左右有空格,提示错误没有安装sendmail-cf
$ sudo vim /etc/php5/apache2/php.ini

Trouvez la ligne suivante :

DAEMON_OPTIONS(`Family=inet, Name=MTA- v4 , Port=smtp, Addr=127.0.0.1′)dnl

Modifiez Addr=0.0.0.0 pour indiquer que vous pouvez vous connecter à n'importe quel serveur.

Générez un nouveau fichier de configuration :

rrreee

Trouvez la phrase ";sendmail_path", supprimez le commentaire ";", puis ajoutez le répertoire de démarrage de sendmail

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

Vous pouvez théoriquement envoyer des emails ici.

Enfin, vous pouvez tester si la configuration est réussie dans le terminal :

Les manières courantes d'envoyer des e-mails sur le terminal sont les suivantes :

Comment rédiger un message général email : mail test@126.com Cc Copie éditée Envoyer l'objet, Objet : objet de l'e-mail, entrez Entrée, après le corps de l'e-mail, appuyez sur Ctrl-D pour terminer

Méthode d'envoi rapide : echo "Corps de l'e-mail" mail | -s Objet de l'e-mail test@126.com


Envoyer le contenu du fichier comme corps de l'e-mail : mail -s test test@126.com


Envoyer un e-mail avec une pièce jointe : uuencode nom de la pièce jointe nom d'affichage de la pièce jointe | mail - s Objet de l'e-mail adresse d'envoi

Recommandations associées : 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