我正在尝试发送和发送电子邮件或/和HTML版本..
我的工作是:
$bodyHTML = "
--PHP-alt-$random_hash
Content-Type: text/plain; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit
http://example.com/app_dl.php?app_id=$_GET[app_id] to download your $app_name app \n\r
Want to get tons more hot apps for free! anywhere anytime? Download our app on http://example' \n\r\n\r
example.com team
--PHP-alt-$random_hash
Content-Type: text/html; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit
<p><a href='http://example.com/app_dl.php?app_id=$_GET[app_id]'>Click Here</a> to download your $app_name app</p>
<p>Want to get tons more hot apps for free! anywhere anytime? Download our app on <a href='http://example.com'>example.com</a></p>
<br/>
<p>example.com team</p>
--PHP-alt-$random_hash ";
endif;
这就是我得到的:
--PHP-alt-f4b83c7072ae970392b44308a6c36109 Content-Type: text/plain; charset='iso-8859-
1' Content-Transfer-Encoding: 7bit http://example.com/app_dl.php?app_id=35 to download your PhoneMates app Want to get tons more hot apps for free! anywhere anytime? Download our app on http://example.com' example.com team --PHP-alt-f4b83c7072ae970392b44308a6c36109 Content-Type: text/html; charset='iso-8859-1' Content-Transfer-Encoding: 7bit
Click Here to download your PhoneMates app
Want to get tons more hot apps for free! anywhere anytime? Download our app on example.com
example.com team
--PHP-alt-f4b83c7072ae970392b44308a6c36109
问题是我看到所有那些标题行..内容类型..而文本行无法用'\ n \ r'格式化..
另外,我不知道是否可以达到如果一个版本失败的效果.. html或txt ,,那么其他版本将会出现...感谢您的帮助
以下是一些代码:
$random_hash = md5(date('r', time()));
$boundary="PHP-alt-".$random_hash;
$headers = array ('From' => $from,
'Content-Type'=> 'multipart/alternative',
'boundary'=>$boundary,
'To' => $to,
'Return-Path' => 'info@example.com',
'Subject' => $subject);
其他细节,如发件人,通行证,标题,都不相关......所以我没有在这里介绍它们。
答案 0 :(得分:2)
不要滚动自己的MIME处理。使用库而不是重新发明轮子。
我知道Swift是PHP领域的常用选项。
那就是说,我怀疑问题与MIME边界标记和标题之前的空格有关。尝试删除它。
最后,您的最后一个MIME边界缺少--
。
真的,真的,使用一个强大的,经过良好测试的第三方库来完成这些工作。你可能会出现太多繁琐的东西。
答案 1 :(得分:1)
当我自己编写时,正如您现在所做的那样,这是最后一组标题,最终成为正确的工作设置。
//headers - specify your from email address and name here
//and specify the boundary for the email
$headers = "MIME-Version: 1.0\r\n";
$headers .= "From:".$from."\r\n";
$headers .= "To: ".$to."\r\n";
$headers .= "Return-Path: ".$from."\r\n";
$headers .= "Content-Type: multipart/alternative;boundary=" . $boundary . "\r\n";
另外,我的边界在上下文中看起来像这样:
$message .= "\r\n\r\n--" . $boundary . "--";
大概,你需要那些尾随破折号。