Bonjour à tous, malgré mes recherches, je n'arrive toujours pas à parvenir au résultat que je voudrais obtenir. Je vous explique.
Je voudrais faire un formulaire pour qu'un utilisateur lambda puisse m'envoyer un message via mon petit site, pour l'instant en LOCAL.
Je précise avant tout que je suis sur MAC, que j'utilise MAMP et que mon FAI est Free.
Je récupère bien les valeurs via $_POST mais je n'arrive pas à recevoir le mail dans ma boite mail quand je fais le test.
Je copie ici mon code car cela vaut mieux que mille explications.
if (empty($err)) {
//Traitement pour envoyer le mail.
$to = 'nbprobe@hotmail.com';
$subject = 'Message de '.$nom;
$headers = "From: " . $email. "\r\n" ;
mail($to,$subject,$message,$headers);
echo $headers ."<br>";
echo "<br>Test email envoyé";
}
Les deux echo affichent bien ce qu'ils doivent afficher mais ma boite mail reste vide, même dans les spams.
J'ai cherché du côté du php.ini où j 'ai modifié cette partie car je ne trouve pas de partie relative à Mac OS.
[mail function]
; For Win32 only.
SMTP = smtp.free.fr
smtp_port = 25
Je demande votre aide car je sèche un peu là. Merci d'avance et très bonne soirée!
Bonjour,
La fonction mail te retournes toujours quelques donc il serait bien de testé s'il elle te retourne "true" avant d'affiché que le message est envoyé.
De plus, as-tu vérifié dans les logs de MAMP s'il n'y avait pas une erreur ?
Bonsoir à toi et merci de m'avoir répondu. Je n'ai pas regardé dans les logs, je vais essayer de trouver le fichier où ils se trouvent... pour ce qui est de ce que retourne mail(), je viens de faire un var_dump et c'est effectivement à TRUE donc à priori, tout s'est déroulé correctement.
D'accord.
Tu as consulté le dossier "spam" de tes mails ?
Si tu changes l'adresses de destination, est-ce que l'email n'arrive toujours pas ?
oui rien dans les spams, j'ai changé l'adresse de destination vers 2 de mes mails mais ça ne passe pas
La suite des vérifications serait de compléter le "headers" afin d'ajouter le "reply-to", "MIME".....
Email de chez "developpez"
J'avais essayé ça dans une autre version mais je ne sais pas exactement si j'avais ajouté les bonnes choses... en tout cas, celà ne marchait pas non plus.
Si je récapitule , je fais un site en local. Le formulaire pour me joindre contient 3 champs, un champ où la personne renseigne son nom, puis un autre pour son email, puis un autre pour son message. Il se termine par un bouton Envoyer.
N'y a t-il rien à modifier dans le php.ini?
J'ai renseigné également le "sendmail_from".
Essaye pour l'instant avec un $message fixe (ex: "hello"), histoire d'exclure que se soit ton message qui pose problème, notemment son encodage
J'ai spécifié une contrainte de taille de message, supérieur ou égal à 20 caractères.
Pour répondre à ton message précédent, je viens de réessayer avec le code trouvé sur
https://openclassrooms.com/courses/e-mail-envoyer-un-e-mail-en-php
Cela ne fonctionne toujours pas même en reprenant le code avec le boundary etc...
Sous Windows seulement : valeur du champ "From:" qui doit être utilisée lors de l'envoi de mail. Cette directive définira également l'en-tête "Return-Path:".
Si tu as nodejs installe maildev tu verras de suite si le mail arrive si il n'arrive pas c'est que le problème est avant
@Carouge10 : Merci, je ne suis pas sous Windows par contre, ça pose un problème si je le mets quand même?
@Helixar, je suis débutant, je ne sais pas faire ça. :/ Merci quand même de ton aide.
Màj, ça ne marche pas en local, mais ça marche en ligne donc je vais pas me casser plus la tête que ça. Merci à vous!