Bonjour et d'avance merci de votre aide.
Bonne rentrée.
J'ai un soucis d'accent sur mon retour mail via le formulaire de contact.
Voilà ce qui arrive:

sh-174456840@eu.hosting-webspace.io
18:53 (il y a 5 minutes)
À moi
Message envoyé depuis le site Web le dimanche, 31 [b]août[/b] 2025, heure 18h53

Nom : Nono

[b]Prénom[/b] : papy

Email : xxxxxxxxxxxxxxx

[b]Téléphone[/b] : xxxxxxxxxx

Type : Rappel

Message : test nouveau site


Mon code mailer.php
<?PHP

$to = "team.0cool@gmail.com"; 
$subject = "Messsage du site Pic & Coud 2.0";
$headers = "Name: Form Mailer; Content-Type: text/html; charset=UTF-8";
$forward = 1;
$location = "merci.html";

$date = date ("l, F jS, Y"); 
$time = date ("h:i A");

$now = new DateTime();
$metteurEnForme = new IntlDateFormatter(
    'fr',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'Europe/Paris',
    null,
    "EEEE',' d MMMM yyyy', heure' H'h'mm"
);

$msg = "Message envoyé depuis le site Web le {$metteurEnForme->format($now)}\n\n\n\n";   

if ($_SERVER['REQUEST_METHOD'] == "POST") {
	foreach ($_POST as $key => $value) { 
		$msg .= ucfirst ($key) ." : ". $value . "\n\n"; 
	}
}
else {
	foreach ($_GET as $key => $value) { 
		$msg .= ucfirst ($key) ." : ". $value . "\n\n"; 
	}
}

mail($to, $subject, $msg, $headers); 
if ($forward == 1) { 
    header ("Location:$location"); 
} 
else { 
    echo "Merci pour votre message. Nous vous contacterons dans les plus brefs délais."; 
} 

?>

Modifié par BruChri (01 Sep 2025 - 17:17)
Salut,
Tu as pourtant un en-tête correct
header(‘Content-Type: text/html; charset=utf-8’);

Chez moi, je n'ai pas l'en-tête, mais ça dans PHPMailer
$courriel->CharSet = "UTF-8";
$courriel->Encoding = "base64";

et je n'ai pas de problème d'accents.
@Bongota Bonjour, il n'utilise pas PHPMailer mais la fonction mail() de PHP.
C'est la clé qui est accentuée, j'ai toujours entendu dire qu'il ne fallait pas d'accent dans l'attribut name d'un formulaire.
Voir le HTML => https://www.pic-et-coud.fr/contact.html#contact

Par contre pour le mois d'Août, j'avoue ne pas comprendre. On dirait que c'est échappé.
Ah oui, autant pour moi.
J'en profite pour encourager à migrer vers PHPMailer ; de plus en plus d'hébergeurs n'acceptent plus la fonction mail de PHP.
Bonjour,

Le paramètre $headers n'est pas correct : les entêtes doivent être sous la forme d'un tableau ou sous la forme d'une chaine de caractères séparées par un caractères CRLF.

A essayer :
$headers = 'From: webmaster@example.com' . "\r\n" .
     'Reply-To: webmaster@example.com' . "\r\n" .
     'Content-Type: text/html; charset=utf-8';

Modifié par Pitet (01 Sep 2025 - 16:59)
Pitet a écrit :
Bonjour,

Le paramètres $headers n'est pas correct : les entêtes doivent être sous la forme d'un tableau ou sous la forme d'une chaine de caractères séparées par un caractères CRLF.

A essayer :
$headers = 'From: webmaster@example.com' . "\r\n" .
     'Reply-To: webmaster@example.com' . "\r\n" .
     'Content-Type: text/html; charset=utf-8';


Bonjour et merci Pitet
Je vais essayer comme ceci:
<?PHP

$to = "team.0cool@gmail.com"; 
$subject = "Messsage du site Pic & Coud 2.0";
$headers = 'From: team.0cool@gamail.com' . "\r\n" .
                    'Reply-To: team.0cool@gmail.com' . "\r\n" .
                    'Content-Type: text/html; charset=UTF-8';
$forward = 1;
$location = "merci.html";

$date = date ("l, F jS, Y"); 
$time = date ("h:i A");
Pitet, avec ce code
$to = "team.0cool@gmail.com"; 
$subject = "Messsage du site Pic & Coud 2.0";
$headers = 'From: team.0cool@gamail.com' . "\r\n" .
    'Reply-To: team.0cool@gmail.com' . "\r\n" .
    'Content-Type: text/html; charset=UTF-8';
$forward = 1;

Je ne reçois plus de mail, me serai-je trompé dans le code ?
D'avance merci.
Tu as une coquille sur l'adresse from (gamail au lieu de gmail).

$to = "team.0cool@gmail.com"; 
$subject = "Messsage du site Pic & Coud 2.0";
$headers = 'From: team.0cool@gmail.com' . "\r\n" .
    'Reply-To: team.0cool@gmail.com' . "\r\n" .
    'Content-Type: text/html; charset=UTF-8';


Tu peux aussi essayé uniquement avec l'entête Content-type :
$to = "team.0cool@gmail.com"; 
$subject = "Messsage du site Pic & Coud 2.0";
$headers = 'Content-Type: text/html; charset=UTF-8';
Oups, quelle belle coquille.
Avec ce code pas de retour mail
$to = "team.0cool@gmail.com"; 
$subject = "Messsage du site Pic & Coud 2.0";
$headers = 'From: team.0cool@gmail.com' . "\r\n" .
    'Reply-To: team.0cool@gmail.com' . "\r\n" .
    'Content-Type: text/html; charset=UTF-8';


J'essaye avec l'autre.
Avec ce code
$to = "team.0cool@gmail.com"; 
$subject = "Messsage du site Pic & Coud 2.0";
$headers = 'Content-Type: text/html; charset=UTF-8';

Bon, je n'ai plus de problème d'accent, mais la présentation n'est plus la même
Messsage du site Pic & Coud 2.0
Boîte de réception

sh-174456840@eu.hosting-webspace.io
17:11 (il y a 0 minute)
À moi

Message envoyé depuis le site Web le lundi, 1 septembre 2025, heure 17h11 Nom : Nono Prénom : papy Email : xxxxx@xxxxx.fr Téléphone : xxxxxxxxxx Type : Réservation création Message : nouveau test
…

Vraiment bizarre ?
L'entête est désormais bien prise en compte, l'encodage utf-8 permet de corriger les problèmes d'affichage pour les caractères spéciaux.
Cette entête définie également que le contenu du mail est au format html, or ton mail semble plutôt être au format texte (\n au lieu de <br> pour les sauts de lignes).

Tu peux donc corriger le dernier code en spécifiant un content type au format texte :
$to = "team.0cool@gmail.com"; 
$subject = "Messsage du site Pic & Coud 2.0";
$headers = 'Content-Type: text/plain; charset=UTF-8';
Messsage du site Pic & Coud 2.0
Boîte de réception

sh-174456840@eu.hosting-webspace.io
18:17 (il y a 0 minute)
À moi

Message envoyé depuis le site Web le lundi, 1 septembre 2025, heure 18h17



Nom : Nono

Prénom : papy

Email : team.0cool@gmail.com

Téléphone : 0xxxxxxxxx

Type : Réservation création

Message : Pitet t'es un champion

Merci beaucoup Pitet