Fonction PHP mail() retourne vrai, mais ne pas envoyer de mail
Je sais que cette question a été posée avant.
Lorsque j'appelle la fonction PHP mail (), elle renvoie la valeur true.
J'ai vérifié mon php.ini (j'ai réussit à l'exécution de CentOS):
SMTP = localhost
smtp_port = 25
sendmail_path = /usr/sbin/sendmail -t -i
mail.add_x_header = On
J'ai lu dans un forum que j'ai installer sendmail. Donc je l'ai installé. Maintenant, les sites avec une fonction mail() ne charge pas plus. J'ai donc enlevé sendmail, et la fonction mail() renvoie la valeur true à nouveau, mais ne pas envoyer l'e-mail.
Une idée?
Comment savez-vous qu'il n'envoie pas le mail?
Jetez un oeil ici: stackoverflow.com/questions/14456673/... - c'est généralement lorsqu'un hôte filtres de courrier envoyé par l'intermédiaire de la
VÉRIFIEZ VOTRE DOSSIER DE SPAM !!! stackoverflow.com/a/30268849/3093731
Jetez un oeil ici: stackoverflow.com/questions/14456673/... - c'est généralement lorsqu'un hôte filtres de courrier envoyé par l'intermédiaire de la
mail()
fonction au lieu d'utiliser SMTP.VÉRIFIEZ VOTRE DOSSIER DE SPAM !!! stackoverflow.com/a/30268849/3093731
OriginalL'auteur Florian | 2014-05-25
Vous devez vous connecter pour publier un commentaire.
Pour envoyer un e-mail vous avez besoin d'un serveur SMTP (local ou distant). En fait ta fonction mail passe uniquement le courrier à votre serveur SMTP et est celui-ci qui a vraiment envoyer votre e-mail.
Dans votre php.ini semble que cette ligne
Vous devriez être au courant si vous utilisez le paramètre de configuration (à partir de manuel):
Mais la chose la plus importante ici est que vous venez de désinstaller sendmail de sorte que vous pouvez attendre de votre mail ne va nulle part. Je sais sendmail a été en vous donnant quelques problèmes, éventuellement, des problèmes de configuration, mais maintenant votre php.ini de configuration est mauvaise.
Comment le résoudre?
De commencer à retirer le sendmail_path paramètre de la php.ini.
Installer un logiciel simple à configurer le serveur SMTP comme postfix.
Vérifier postfix est à l'écoute sur le port 22:
Essayez d'envoyer un mail à partir de votre fonction php mail ()
Vérifier votre e-mail a été envoyé correctement (vérifiez votre /var/log/mail.journal ou /var/log/mail/mail.journal fichiers)
Vous pouvez également vérifier le mail n'est pas dans la file d'attente de postfix:
OriginalL'auteur Victor Henriquez
j'ai eu un problème similaire à celui-ci; les deux
mail()
etwp_mail()
fonctions étaient de retourTRUE
, mais aucun mail n'a été envoyé à mon [email protected] compte de Messagerie.Il s'avère que Yahoo a été le blocage de ces e-mails comme du spam. Je n'ai pas de captcha mis en place sur mon formulaire, et, par conséquent, de nombreux e-mails de spam a été envoyé à yahoo qui est pourquoi ils ont bloqué les e-mails. Des courriels ont été envoyés avec succès, mais Yahoo a été marquant comme spam.
assurez-vous que ce n'est pas le problème dans votre cas.
Kissa @OnlyMAJ j'ai exactement le même problème sur un hébergement mutualisé.
mail()
retourne vrai, mais rien. rien dans mon dossier de courrier indésirable. ce que l'enfer qui se passeVous pouvez envoyer vos e-mails à d'autres fournisseurs que yahoo et google si il ne fonctionne pas sur que trop, alors il ya un problème avec votre hébergement sinon le problème vient de yahoo ou google.
hier soir, j'ai essayé d'envoyer à l'e-mail à mon propre nom de domaine, ce qui a fonctionné. mon e-mail est une adresse hotmail, qui n'a pas été de travail. j'ai essayé d'envoyer à un compte gmail hier et de rien. je vais faire des tests un peu plus aujourd'hui. soi-disant mon hôte prend en charge... quelles sont les alternatives?
OriginalL'auteur Irfan Kissa
Veuillez vérifier votre DNS,
J'obtiens le même problème lors de l'essai sur localhost, mais le travail sur ordinateur hôte réel.
Le problème, c'est faux DNS, votre e-mail a été bloqué par google.
Si vous testez avec d'autres service de messagerie (exemple: yahoo mail), vous recevrez un e-mail spam.
Je l'ai trouvé après avoir vérifier le courrier du journal
où est le journal de messagerie mec?
OriginalL'auteur Python
J'ai eu des problèmes de réglage smtp, je me suis donc retrouvé à l'aide de gmail. Vous pouvez envoyer un mail à la POIRE MAIL comme indiqué ici:
Si vous utilisez gmail, votre $, qui sera remplacé par l'adresse de courriel utilisée pour l'envoyer.
OriginalL'auteur cdvv7788