[RESOLU] envoi de mail en php

Eléphant du PHP | 56 Messages

25 févr. 2015, 10:13

Bonjour à tous,

J'ai un problème avec ma fonction mail, elle s'exécute correctement, mais je ne reçois pas de mail sur ma boite (GMAIL). Je suis chez le FAI Orange et je me demandais si ce n'était pas ma livebox qui filtrait les messages.
Je précise que dans mon fichier php.ini, j'ai bien modifié les lignes SMTP : "smtp.orange.fr" sur le port 25.

Merci d'avance!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

25 févr. 2015, 10:38

Bonjour,

Voici la configuration qu'il faut mettre dans ton php.ini :

Code : Tout sélectionner

[mail function] ; For Win32 only. ; http://php.net/smtp SMTP = smtp.orange.fr ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from auth_username = [email protected] auth_password = ton_mot_de_passe_mail_orange
Et un exemple de script PHP pour tester :
<?php

$to      = '[email protected]';
$subject = 'Bonjour !';
$message = 'Hello World';
$headers = 'From: [email protected]'; // Pas obligatoire de mettre ton adresse Orange, tu peux mettre ce que tu veux
var_dump(mail($to, $subject, $message, $headers));
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 56 Messages

25 févr. 2015, 10:50

Merci de ta réponse.

Cependant, toujours aucun messages dans ma boite mail..

Le résultat du var_dump est pourtant true, le message doit donc s'envoyer.

Eléphant du PHP | 56 Messages

25 févr. 2015, 11:47

J'ai cleané mon apache et tout refait au propre. J'ai configuré le SMTP comme tu me l'as dit et le var_dump me renvoie : false.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

25 févr. 2015, 11:56

As-tu bien redémarré Apache pour que les modif du php.ini soient prises en compte ?
As-tu vérifié dans les spams de Gmail ?
Essaye de désactiver ton firewall/antispam/antivirus.
Et sinon teste sur une autre adresse e-mail (par exemple ta boite mail orange)

Car j'ai testé ce code et il fonctionne.

J'ai cleané mon apache et tout refait au propre. J'ai configuré le SMTP comme tu me l'as dit et le var_dump me renvoie : false.
Regarde dans le fichier de logs de PHP (sur Wampserver > clic sur l'icone > PHP > PHP Error Log ; sur les autres fais un phpinfo et regarde où est stocké le fichier de log)
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 56 Messages

25 févr. 2015, 11:59

Effectivement, Apache est bien redémarré.

J'ai également essayé avec l'adresse mail d'orange mais cela me renvoie toujours false..

Eléphant du PHP | 56 Messages

25 févr. 2015, 13:01

Cette citation célèbre : "Le problème est TOUJOURS entre la chaise et la machine."

En faite, je suis sous Linux... Puis, cette phrase est venu me percuter l'esprit : "For Win32 Only."

Il suffit donc (pour ceux étant sous Linux) d'installer ssmtp et de le configurer comme suivant : http://doc.ubuntu-fr.org/ssmtp

Puis, dans le fichier php.ini, décommenter la ligne "sendmail_path" et écrire :

Code : Tout sélectionner

sendmail_path=/usr/sbin/sendmail -t -i
Voilà!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

26 févr. 2015, 00:58

Merci pour le partage de la solution en tout cas :)
Quand tout le reste a échoué, lisez le mode d'emploi...