我已经设置了一个包含文本区域的多部分mime电子邮件,以及一个html版本的简报的一个区域。一切正常,除了我的iPhone。它首先显示文本版本,然后显示HTML版本。但我没有任何想法为什么......: - /
这是PHP:
$to = $_POST['email'];
$subject = 'Test';
$bound_text = 'boundary42';
$headers = "From: sender@sender.net\r\n";
$headers .= "MIME-Version: 1.0\r\n"
. "Content-Type: multipart/mixed; boundary=\"$bound_text\"";
$message = file_get_contents('mime.file');
mail($to, $subject, $message, $headers);
文件内容:
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=boundary42
This is a message with multiple parts in MIME format.
--boundary42
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Text goes here
--boundary42
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="margin:0;padding:0;font-family: arial, 'Arial';">
html goes here
</body>
</html>
--boundary42--
答案 0 :(得分:0)
请参阅MIME type to satisfy HTML, email, images and plain text?和Mail multipart/alternative vs multipart/mixed
您构建的是一个multipart / 混合容器,其中包含两个内容:text和plain。对于混合,渲染两者都是正确的。
你可能想要的是一个multipart / 替代容器来容纳这两件事。