Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
发送到Outlook的PHP Mail()会中断代码_Php_Email_Outlook_Gmail - Fatal编程技术网

发送到Outlook的PHP Mail()会中断代码

发送到Outlook的PHP Mail()会中断代码,php,email,outlook,gmail,Php,Email,Outlook,Gmail,我环顾了一下这里,但找不到关于我所面临问题的答案 与我的问题最相似的是:,但我检查了,解决方案对我不起作用 我基本上是在编写一个PHP脚本,发送电子邮件,其中包含一个表。然而,问题是,如果我在gmail中收到它,电子邮件会显示得很好,但它甚至根本不会通过Outlook 检查确实可以发送到Outlook的电子邮件的源代码时,由于某种原因显示了换行符(gmail中也没有出现) 例如: 作为参考,我的邮件标题如下: $headers = 'MIME-Version: 1.0' . "\n"; $he

我环顾了一下这里,但找不到关于我所面临问题的答案

与我的问题最相似的是:,但我检查了,解决方案对我不起作用

我基本上是在编写一个PHP脚本,发送电子邮件,其中包含一个表。然而,问题是,如果我在gmail中收到它,电子邮件会显示得很好,但它甚至根本不会通过Outlook

检查确实可以发送到Outlook的电子邮件的源代码时,由于某种原因显示了换行符(gmail中也没有出现)

例如:

作为参考,我的邮件标题如下:

$headers  = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$headers .= 'From: helpdesk@viatechcrm.com' . "\n";
顺便问一下,我应该使用iso-8859-1还是utf-8?我偶尔会遇到带有欧洲字符的名字

非常感谢您的帮助

编辑:所以我检查了源代码,发现了一些有趣的东西。消息很长,但只显示3-4行。我发现它被截短了大约991个字符,因此电子邮件被打断了。。这与Mime版本1.0有关吗? 如何增加它可以接收的字符数?我尝试在每个表行后添加“\r\n”,但由于某些原因,4封电子邮件中仍有一封未显示

编辑2:感谢大家的帮助!在2009年的一个论坛上,我终于找到了答案。如需将来参考,请参阅上次发布:


如果您有非字母数字字符,则应使用UTF-8。每个标题行的结尾都应该是“\r\n”,而不仅仅是一个普通的“\n”。我不确定这是否能解决您的问题,因为我无法测试,但这是您应该解决的问题。

听起来您只是在邮件的HTML部分添加了“\r\n”所有标题行必须以“\r\n”结尾,而不仅仅是正文中的行。一些客户端和服务器只需处理“\n”,但它们确实不需要(请参阅),因此Gmail和Outlook之间存在不一致性。

使用Swiftmailer之类的库,而不是mail()-这将为您解决所有复杂问题。使用回车符和Windows换行符(Outlook)\r\n UP。在大多数情况下,outlook根本无法正确处理html。我想这是因为它正在使用ms word go渲染htmls。您好,我尝试设置“charset=utf-8”并添加“\r\n”,但四分之一的电子邮件仍然没有显示。可能它被Outlook的垃圾邮件过滤器捕获了?你应该检查一下。是的,我也考虑过,它不在垃圾邮件文件夹中。
<td>  xyz@aaatt.com </td>
$rmv = array("\n");
$lead_email = str_replace($rmv, "", $lead_email);

$rmv = array("\r");
$lead_email = str_replace($rmv, "", $lead_email);

$rmv = array(" ");
$lead_email = str_replace($rmv, "", $lead_email);
$headers  = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$headers .= 'From: helpdesk@viatechcrm.com' . "\n";