8406 sujets

Développement web côté serveur, CMS

Bonsoir à tous
Depuis longtemps je n'envoie par PHP que des mails ne contenant pas de HTML
J'ai fait un essai d'envoi de message en HTML, en suivant les recommandations trouvées sur internet. J'ai deux problèmes:
1) Thunderbird me dit que ce message est suspect
2) quand je passe outre, le texte en HTML ne se trouve pas dans le corps du message mais comme un fichier HTML attaché
J'en déduis qu'il doit y avoir quelque chose qui manque ou qui est faux.
J'avais fait ça il y a longtemps dans un site dont je ne m'occupe plus depuis plusieurs années, pas possible de retrouver le code.

Connaissez vous un bon mode d'emploi?
Merci de votre aide
Bonjour,
De mémoire, il y avait un site dédié à l'e-mailing et ses customisations, un site autre que campaignmonitor.com, mais pas moyen de me rappeller le nom...

Édit : il y a aussi un nouveau site, pompé sur caniuse pour le CSS : https://www.caniemail.com
Modifié par Olivier C (21 Sep 2021 - 10:02)
Je suppose d'après le contexte qu'il s'agit de savoir ce qu'on peut mettre dans un email en HTML selon le client auquel il est destiné, ce qui est effectivement très utile pour autant qu'on connaisse les outils de messagerie des destinataires.
Mon problème en amont c'est tout bêtement retrouver comment j'ai pu il y à 4 ou 5 ans générer les emails en HTML...
Ne pas oublier le Content-Type: text/html; Cela fonctionne :

$to = 'bob@example.com';

$subject = 'Website Change Reqest';

$headers = "From: " . strip_tags($_POST['req-email']) . "\r\n";
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
$headers .= "CC: susan@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

$message = '<p><strong>This is strong text</strong> while this is not.</p>';


mail($to, $subject, $message, $headers);

Modifié par JENCAL (21 Sep 2021 - 13:24)
JENCAL a écrit :
hello, tu utilise quel outil php pour envoyer mail ? PHPMailer ?

pas d’outil autre que « mail" chez mon hébergeur mais ça marchait très bien il y a 4 ou 5 ans.
Je vais voir ce que donne ton code dans mon environnement pas de raison que ça ne marche pas.

<?php
	$root = $_SERVER['DOCUMENT_ROOT'];
	include_once "$root/html/common.php";
	$to = 'xxx@yyy.net';

$subject = 'Website Change Reqest';

$headers = "From: aaaa@zzz.net";
$headers .= "Reply-To: bbbb@zzz.net\r\n";
$headers .= "CC: dddd@zzz.net\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

$message = '<p><strong>This is strong text</strong> while this is not.</p>';


$mailsent = mail($to, $subject, $message, $headers);
dump($mailsent);
?>

Réponse 'false'