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 ?
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.
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 sendmailCommande 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 sendmailLa sortie est la suivante :
vi /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.iniTrouvez la ligne suivante : DAEMON_OPTIONS(`Family=inet, Name=MTA- v4 , Port=smtp, Addr=127.0.0.1′)dnlModifiez 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 -iVous 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 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!
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