MIME Alternatimve Emails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi List,
Good morning. Hope all are well on this Saturday.
I am in  need of a little assistance. I am creating an HTML email.
I have created it successfully already, so I know the code works for the HTML part.
My question is about the headers of the message.

Here is my code at the end before the message is sent off.

//other code  that sets up $html and $text

if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
	  $eol="\r\n";
	} else if (strtoupper(substr(PHP_OS, 0, 3) == 'MAC')) {
	 $eol="\r";
	} else {
	  $eol="\n";
}

// To send HTML mail, the Content-type header must be set
$headers = 'From: '.$from.$eol;
$headers .= 'To: "'. $username .'" <' . $email . '>'.$eol;

//$headers .= 'Cc: ' . $from;
//$headers .= 'BCc: ' . $from;
$headers .= 'Reply-To: ' . $from .$eol;

$headers .= 'X-Mailer: PHP/' . phpversion().$eol;
$headers .= 'X-sender: <' . $from . '>'.$eol;
$headers .= 'X-receiver: <' . $email . '>'.$eol;

$headers .= 'Message-ID: <'.$MessageID.'@'.$host.'>'.$eol;
$headers .= 'Date: '.$time.$eol;

// Additional headers
$headers .= 'X-Priority: 1'.$eol;
$headers .= 'X-MSMail-Priority: High'.$eol;
$headers .= 'X-MimeOLE: Generated By Design Drumm - MultiPart/Alt E- Mail'.$eol;

$headers .= 'MIME-Version: 1.0' . $eol;
$headers .= 'Content-type: multipart/alternative';
$headers .= 'boundary="'.$boundary.'"' . $eol.$eol;

// Make sure there are no bare linefeeds in the headers
//$headers = preg_replace('#(?<!\r)\n#si', "\r\n", $headers); //I found this code. Can anyone tell me if it works.

$message = '--'.$boundary.$eol;
$message .= 'Content-type: text/html; charset="UTF-8"'.$eol;
$message .= 'Content-Transfer-Encoding: 8bit'.$eol.$eol;
$message .= $html.$eol.$eol;

$message .= '--'.$boundary.$eol;
$message .= 'Content-type: text/plain; charset="UTF-8"'.$eol;
$message .= 'Content-Transfer-Encoding: quoted-printable'.$eol.$eol;

$message .= $text.$eol.$eol;
$message .= '--'.$boundary.'--'.$eol.$eol;

return mail($email, $subject, $message, $headers);

   }

My question is what order should the headers be in from top to bottom that I have to work properly? Currently it does not display the HTML on MAC but it does in Hotmail. MAC mail is grabbing the text version.
So my susspicion is that the headers are just wrong.

It has worked on MAC mail before I tried the MIME boundaries.

TIA,


Karl DeSaulniers
Design Drumm
http://designdrumm.com


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux