我正在测试使用PHP的自动回复多部分电子邮件。问题是,当我在hotmil收到电子邮件时,整个内容(包括html和随机哈希)显示为原始文本。这里是我的代码:PHP文本/ html multipart电子邮件在hotmail中显示为原始文本
$cname = "test";
$to = "[email protected]";
$autoReplyTo = "[email protected]";
$autoReplySubject = "Enquiry";
$mime_boundary = md5(date('U'));
$autoReplyheaders = "From: XXXXX <" . $to . ">" . "\r\n" .
"MIME-Version: 1.0" . "\r\n" .
"Content-Type: multipart/alternative; boundary=$mime_boundary" .
"Content-Transfer-Encoding: 7bit". "\r\n";
$plain_text = "Dear " . $cname . ".\r\n";
$plain_text = "Thank you for contacting us.\r\n";
$plain_text .= "We are currently processing your query and will contact you shortly. We appreciate the time and interest you have shown in our company.\r\n";
$plain_text .= "Sales Team\r\n";
$plain_text .= "Note: This is an auto-generated email, please do not reply.\r\n";
$html_text = '<html><head><title>AUTO REPLY</title></head><body>';
$html_text .= '<p><img src="http://www.xxxxxx.xx/images/logo.png" /></p>';
$html_text .= '<p>Dear '.$cname.',<br />
Thank you for contacting us.<br />
We are currently processing your query and will contact you shortly.<br />
We appreciate the time and interest you have shown in our company.</p>';
$html_text .= '<p><b>Sales Team</b></p>';
$html_text .= '<p><i>Note: This is an auto-generated email, please do not reply.</i></p>';
$html_text .= '</body></html>';
$autoReplyMessage = "Auto reply" . "\r\n\r\n".
"--" . $mime_boundary.
"Content-Type: text/plain; charset=\"iso-8859-1\"".
"Content-Transfer-Encoding: 7bit". "\r\n\r\n".
$plain_text.
"--" . $mime_boundary.
"Content-Type: text/html; charset=\"iso-8859-1\"".
"Content-Transfer-Encoding: 7bit". "\r\n\r\n".
$html_text.
"--".$mime_boundary."--";
mail($autoReplyTo, $autoReplySubject, $autoReplyMessage, $autoReplyheaders);
我在做什么错?
如果你不想读取所有的RFC - 为什么不使用库(像phpmailer),可以发送一个格式正确的电子邮件? – zerkms 2012-03-25 23:03:56
看看这里:http://stackoverflow.com/a/9860369/1104695 – guybennet 2012-03-25 23:06:24