fonction mail() sur un site hébergé chez free

Eléphanteau du PHP | 11 Messages

18 nov. 2024, 21:35

Bonjour,

j'ai un soucis avec mon site chez free. fr

je n'arrive pas à envoyer un mail de validation d'inscription ?

cela marchait il y a 10 ans pourtant ..., et ne fonctionne plus aujourd'hui.
a savoir que j'ai laisser mon site à l'abandon depuis toutes ces années.

en gros j'aimerai savoir si la fonction mail() simple fonctionne sur vos sites.free. fr si vous en avez ?

Cordialement.

Mammouth du PHP | 2703 Messages

18 nov. 2024, 21:43

il y a un message d'erreur ?
le mail n'arrive pas quelque soit l'email (une adresse free comme ailleurs) ?

Eléphanteau du PHP | 11 Messages

18 nov. 2024, 21:49

non tout se passe très bien, aucun message d'erreur, ça fait une semaine que je suis dessus et je ne trouve pas la solution.

hier j'ai remarqué que ma boite mail avait été desactivé, voici le mail recu par free.
"Bonjour,

Il semblerait que vous n'ayez pas consulté votre messagerie depuis plus
d'un an. Aussi, celle-ci a été temporairement desactivée.
Aucune demande n'est necessaire pour réactiver votre messagerie : la simple
consultation de ce message indique que la boite est à nouveau utilisable."

faut peut etre que j'attende quelques jours pour que ce soit reactivé ?


oui quelque sooit l'adresse mail, personne ne recoit

Mammouth du PHP | 2703 Messages

18 nov. 2024, 22:04

envoyez-vous un email depuis un autre email vers votre adresse free. si vous recevez, inscrivez-vous avec votre adresse free (en ayant modifié avant votre email free si nécessaire), pour voir si l'email est reçu.

Mammouth du PHP | 2703 Messages

18 nov. 2024, 22:07

ou plus simple
mail("[email protected]", "test", "test");
dans un fichier php pour voir si vous recevez cet email.

Eléphanteau du PHP | 11 Messages

18 nov. 2024, 22:11

j'ai essayé aussi et cela ne fonctionne pas.

même la plus simple ligne de code avec la fonction mail() ne fonctionne pas
j'ai voulu essayer phpmailer mais je comprend pas... ca fait dix ans que j'ai laché le php :-c

faudrai que j'essai avec un autre serveur je sais pas... je suis perdu là...

merci de vos réponses en tous cas ;-)

Eléphanteau du PHP | 11 Messages

18 nov. 2024, 22:13

ou plus simple
mail("votre adressefrree@free .fr", "test", "test");
dans un fichier php pour voir si vous recevez cet email.
je ne met que cette ligne sur un fichier.php pas besoin d'html ou autre ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

19 nov. 2024, 01:28

Essaye l'exemple 3 de la doc PHP pour la fonction mail() "Exemple #3 Envoi d'un mail avec un array d'en-têtes supplémentaires"en le mettant juste tel quel dans un fichier .php et en remplaçant avec ton adresse e-mail bien sûr
https://www.php.net/manual/fr/function. ... ample-3145

Car si tu ne précises pas un expéditeur valide, il est probable que l'envoi du mail soit bloqué par les filtres antispam

## edit : la page officielle de Free qui confirme que la fonction mail() devrait fonctionner :
https://assistance.free.fr/articles/652
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 11 Messages

19 nov. 2024, 15:34

ok merci je vais tester ca ;-)

Eléphanteau du PHP | 11 Messages

19 nov. 2024, 16:05

fonctionne toujours pas...

Mais apriori hier j'ai essayé un truc et mon père à reçu un mail de ma part dans ses spams, faut que je retrouve LE TRUC qui a fonctionné #-o

merci a vous en tous ca

par contre il faut mettre quoi dans les headers ? moi j'ai ça :

$headers ='From: "xxx"<[email protected]>'."\n"; //-> à modifier
$headers .='Reply-To: [email protected]'."\n"; //-> à modifier
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

$sujet='Confirmation d\'inscription';
$message = '<html>
<head><title>Confirmation d\inscription</title></head>
<body>Bonjour,<br />
Merci de vous être inscrit sur ce blog. Pour pouvoir poster des commentaires et ainsi débattre sur l\'article qui vous intéresse,
il vous suffit de cliquer sur le lien suivant :<br />
xxx
Une fois la confirmation faite, vous recevrez un email contenant votre pseudo et votre mot de passe.
A noter que vous avez au minimum 24H pour confirmer votre inscription, au-delà de ce délai il vous faudra peut être recommencer les étapes d\'inscription
depuis le début.<br />
Cordialement.
</body>
</html>';
if(mail($mail, $sujet, $message, $headers))

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

19 nov. 2024, 16:16

Copie-colle l'exemple 3 dans une nouvelle page PHP et une fois que ça marchera ça permet de valider qu'il n'y a pas de soucis côté Free, et alors tu pourras faire des adaptations pour le code de ton site
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 11 Messages

19 nov. 2024, 19:28

alors, la fonction mail() fonctionne apparemment quand ca veut bien.... J,'ai reussi deux fois...

est ce que certains d',entre vous ont un site chez free ? je comprends pas pourquoi ca marche que rarement.

J'ai fait un phpinfo() et le sendmail_from devrait avoir pour valeur mon adresse email non?

Eléphanteau du PHP | 11 Messages

20 nov. 2024, 01:31

je commence à comprendre quand cela va fonctionner et quand cela va échouer.
c'est en fonction du temps d'exécution de la page. si c'est court, ca envoi que dalle et si c'est long (genre 1 ou 2 secondes) c'est que le mail va bien arriver.
Cela marche une fois sur 5 environ.

j'ai donc cherché sur le web et j'ai trouvé un truc qui fonctionne plutôt bien. Néanmoins je m'aperçois que ca ne fonctionne pas avec toutes les adresses mail.

par exemple, les destinataires qui ont un compte gmail, free ne recevrons rien. ça marche avec msn (outlook) et orange. et ca je ne sais pas pourquoi...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 nov. 2024, 09:42

Il est possible que ce soit une protection antispam qui bloque côté Gmail.
Si ce n'est pas déjà le cas, utilise une adresse e-mail en @free.fr en tant qu'expéditeur pour voir si ça améliore les choses.

Si c'est toujours aléatoire, il te faudra passer par une solution comme PHPmailer et utiliser une configuration SMTP (par exemple celle de Gmail (avec une adresse @gmail.com en expéditeur, ou en payant Mailjet)
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 11 Messages

20 nov. 2024, 13:47

à savoir que lors de mon inscription ici sur ce forum je n'ai pas reçu de mail de confirmation sur mon gmail, j'ai du me réinscrire avec mon adresse free.

je vais voir si j'arrive a comprendre phpmailer

merci !