8771 sujets

Développement web côté serveur, CMS

Bonjour à tous,
je viens vers vous car je sèche sur l'envoi de mails en PHP. J'ai cherché sur des forums et on dirait que ce que je fais est bon mais ça ne fonctionne pas comme je voudrais.

En effet, avec ce code, l'envoi de mail fonctionne mais le "from" est remplacé par "sh-218779649@eu.hosting-webspace.io" (je précise que mon hébergeur est Ionos).
$from = $_POST['inputNom '] . " " . $_POST['inputPrenom']; 
$headers = "MIME-Version : 1.0" . "\r\n";
$headers .= 'Content-Type: text/plain; charset=utf-8';
$headers .= 'From: ' . $from . "\r\n";
$headers .= 'Reply-To: ' . $mail . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion()."\r\n";
mail($dest, $raison, $content, $headers)

Sauriez-vous d'où vient mon problème ?


Question subsidiaire : on peut voir que j'ai spécifié "charset=utf-8" pourtant dans le corps du mail que je reçois les accents sont remplacés par des symboles du type "é". Est-ce parce que ma déclaration est mauvaise ? Dois-je utiliser un autre charset ? Si oui lequel ?

Je vous remercie par avance !
Modifié par Vahia (30 Sep 2022 - 17:13)
Salut,

Je ne sais pas trop pour la première question, pour l'autre, le mail n'est pas en text/html, mais en text/plain..

Sinon moi je te conseil de regarder du coté de PHPMailer, perso c'est ce que j'utilise depuis plusieurs années c'est vraiment simple et très fonctionnel.

Voilà
J'ai mis en text/html mais ça ne change rien pour les accents.

PHPMailer, j'y ai pensé mais ça m'embête de déployer tout ça car c'est juste le FROM qui me pose problème et puis je n'ai qu'une seule page en PHP sur mon site.
Petite précision, si je ne passe que du texte ça fonctionne :
$headers = 'From: webmaster@example.com' . "\r\n";


par contre si j'ajoute une variable, ça ne fonctionne plus :
$headers = 'From: webmaster@example.com' . $sender . "\r\n";


Je ne vois pas pourquoi je ne pourrais pas passer une variable...
Modifié par Vahia (01 Oct 2022 - 12:54)