Fonction Mail()

Résolu
Tanaka -  
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour !

J'ai un souci avec ma newsletter... Je ne reçois pas les mail que je m'envoie avec la fonction php mail();

Voici mon code :

if($statut === "tentativeAbonnement") {

$objet = '['.$date.'] ['.$heure.'] Tentative d\'abonnement à la newletter !';

$headers = "MIME-Version: 1.0" . PHP_EOL
. 'Content-type: text/plain; charset=utf-8' . PHP_EOL
. 'From: Moi <***@***>' . PHP_EOL
. 'Reply-To: XXXXX <***@***>' . PHP_EOL
. 'Subject: {'.$objet.'}' . PHP_EOL
. 'X-Mailer: PHP/' . phpversion();

$mail = 'Email : ' . $emailClient . PHP_EOL
. 'Token : ' . $tokenClient . PHP_EOL . PHP_EOL
. 'Informations Complémentaires : ' . PHP_EOL
. 'X-Mailer: PHP/' . phpversion() . PHP_EOL
. 'User Agent : ' . $_SERVER['HTTP_USER_AGENT'] . PHP_EOL
. 'Adresse IP : ' . $_SERVER['REMOTE_ADDR']. ':' . $_SERVER['REMOTE_PORT']
. PHP_EOL ;
}

$adresseEmail = '***@***' ;
mail($adresseEmail, $objet, $mail, $headers);

Lorsque je fais un var_dump de ce que me renvoie la fonction mail, j'obtient un "bool(true)"...
Je suis chez OVH pour l'hébergement de mon site, et j'ai essayé d'envoyer ce mail sur plusieurs boites, gmail, orange, hotmail, serveur mail pro...etc...

A n'y rien comprendre... Merci pour votre aide !

A voir également:

1 réponse

Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Bonjour,
Pour commencer, essaye un mail() tout simple, sans header ni variable pour tester la fonction en elle-même.

Sinon, tu peut essayer de remplacer tes php_eol par des "\r\n"
1
Tanaka
 
BOOYAAAAAAHHH. C'était les \r\n... Merci petit ange de l'internet :3
0
Tanaka
 
Autant pour moi, c'était mes entetes qui n'étaient pas correct.... Y'a quelque chose dans les entetes qui te fait tilter ? Une erreur de ma part ?
0
Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Enlève l'entête subject, elle ne sert à rien de toute façon, vu qu'il y a un champ dans la fonction mail pour ça.
SI ce n'est pas ça qui pose problème, retire-les une à une, en testant à chaque fois.
Tu verra ainsi ce qui fait planter le mail.
0
Tanaka
 
Ca y est... C'était le champ Object: {} qui faisais planter le mail... Toutes les autres lignes fonctionnent dans l'entête !
J'ai rajouté un $mail = wordwrap($temp, 70, PHP_EOL); pour hacher les chaines de caractères en 70 caractères pour coller à la RFC.

Merci pour ton aide !
0
Tanaka
 
Par contre, dans les mail reçu, si j'utilise thunderbird, les entêtes sont correct (repondre à : en provenence de... etc), mais sur gmail et hotmail, j'obtient ça : from : XXX (arobase) 20gp.ovh.net
Sans rien d'autre... Pourtant, je sais qu'il lit bien les entête, vu que les caractères (à é) qui ne fonctionnait pas avant fonctionne maintenant avec la ligne 'Content-type: text/html; charset=utf-8'

Une idée ?
0