Maison > Article > développement back-end > Que dois-je faire si je ne parviens pas à recevoir les e-mails envoyés par php ?
Solution au problème que PHP ne peut pas envoyer d'emails : exécutez d'abord la commande "sudo apt-get install sendmail" pour installer ; puis entrez la commande "ps aux | grep sendmail" puis générez un nouveau ; fichier de configuration ; Enfin, testez si la configuration a réussi dans le terminal.
Recommandé : "Tutoriel vidéo PHP"
Résoudre le problème de non-réception des e-mails envoyés par php mail
Je pense que beaucoup de gens veulent utiliser le courrier php pour envoyer des e-mails à des fins de vérification, mais lorsque le script est écrit et que l'utilisation est correcte, les e-mails ne peuvent pas être reçus. J'ai trouvé ici une méthode pour vous, très simple et pratique
L'environnement de développement du blogueur est la plateforme LNMP construite sous ubuntu17.04 :
Pourquoi ne recevez-vous pas votre email ? C'est parce que vous n'avez pas effectué de configuration associée : maintenant vous le savez, alors suivez mes étapes ci-dessous
Tout d'abord, nous devons installer un logiciel :
Le La fonction sendmail dans Ubuntu peut envoyer des e-mails très facilement. Pour utiliser Ubuntu Sendmail, vous devez 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 pour installer mailutils,
Commande d'installation : sudo apt-get install mailutils
Pour utiliser la fonction avec des pièces jointes, vous devez également installer sharutils,
Commande d'installation : sudo apt -get install sharutils ; (yum install sharutils )
Commande d'entrée du terminal : ps aux |grep sendmail
La sortie est la suivante :
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
Explication sendmail a été installé et démarré avec succès
Après l'installation, nous devons effectuer certaines configurations associées
Sendmail n'enverra des e-mails qu'aux utilisateurs locaux par défaut. Ce n'est qu'en l'étendant à l'ensemble d'Internet que nous pouvons. c'est devenu un véritable serveur de messagerie.
Ouvrez le fichier de macro de configuration de sendmail : /etc/mail/sendmail.mc
vi /etc/mail/sendmail.mc
Trouvez la ligne suivante :
Code
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1′)dnl
Modify Addr= 0.0 .0.0 , indiquant que vous pouvez vous connecter à n'importe quel serveur.
Générez un nouveau fichier de configuration :
Code
#cd /etc/mail #mv sendmail.cf sendmail.cf~ //做一个备份 #m4 sendmail.mc > sendmail.cf //>的左右有空格,提示错误没有安装sendmail-cf $ sudo vim /etc/php5/apache2/php.ini
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 à partir d'ici.
Enfin, vous pouvez tester si la configuration est réussie dans le terminal :
Les méthodes couramment utilisées pour envoyer des emails sur le terminal sont les suivantes :
1. rédiger un email général : mail test@126.com Cc Modifier l'objet CC, Objet : objet de l'email, saisir Entrée, après le corps de l'email, appuyer sur Ctrl-D pour terminer
2. Méthode d'envoi rapide : echo" Corps de l'e-mail" | mail -s Objet de l'e-mail test@126. com
3. Envoyez le contenu du fichier comme corps de l'e-mail : mail -s test test@126.com < test.txt
4. Envoyez un e-mail avec une pièce jointe : uuencode attachment name attachment Nom d'affichage | mail -s Adresse d'envoi du sujet du mail
Par exemple : uuencode test.txt test.txt |
Une fois le test du terminal réussi, cela signifie que vous avez Vous pouvez utiliser la fonction mail pour envoyer des e-mails.
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!