Le code ci-dessous correspond au code que j'utilise. Cela fonctionne très bien dans Thunderbird, mais pas dans le client de messagerie Mac (et je suppose que tout ce qui est fait par Microsoft. Je n'ai actuellement pas accès à cela pour le tester). Autant que je suis au courant des idiosyncrasies des différents clients de courrier, je suis déconcerté par ceci! C'est assez explicite, mais j'essaie d'envoyer des courriels texte et HTML pour augmenter le lectorat. Toute aide serait très appréciée.Le courrier électronique en texte clair/HTML ne fonctionne pas avec le client de messagerie électronique
EDIT
je aurais dû préciser que le contenu sont envoyés, mais indépendamment dans thunderbird il affiche correctement le message, mais dans le client de messagerie Mac, vous obtenez la chose entière de la première PHP-alt au dernier PHP
<?php
//define the receiver of the email
$to = '[email protected]';
//define the subject of the email
$subject = 'Test HTML email';
//create a boundary string. It must be unique
//so we use the MD5 algorithm to generate a random hash
$random_hash = md5(date('r', time()));
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: [email protected]\r\nReply-To: [email protected]";
//add boundary string and mime type specification
$headers .= "\r\nContent-Type: multipart/alternative; boundary=\"PHP-alt-".$random_hash."\"";
//define the body of the message.
ob_start(); //Turn on output buffering
?>
--PHP-alt-<?php echo $random_hash; ?>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Hello World!!!
This is simple text email message.
--PHP-alt-<?php echo $random_hash; ?>
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
<h2>Hello World!</h2>
<p>This is something with <b>HTML</b> formatting.</p>
--PHP-alt-<?php echo $random_hash; ?>--
<?
//copy current buffer contents into $message variable and delete current output buffer
$message = ob_get_clean();
//send the email
$mail_sent = @mail($to, $subject, $message, $headers);
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
echo $mail_sent ? "Mail sent" : "Mail failed";
?>
Bravo fella, fonctionne comme un charme! – Drew