PHP电子邮件正文显示在Gmail中,但不显示在Office 365中

PHP电子邮件正文显示在Gmail中,但不显示在Office 365中,php,email,outlook,gmail,Php,Email,Outlook,Gmail,我在本地计算机上设置了SMTP服务器 在我的PHP脚本中,我正在将.txt文件保存到SMTP服务器正在侦听的目录中。当脚本保存到文件时,SMTP服务器将其发送出去 我的脚本如下所示: $content = "MIME-Version: 1.0" . PHP_EOL; $content .= "Content-Type: text/html; charset=ISO-8859-1" . PHP_EOL; $content .= 'From: user@domain.com' ."\r\n"; $

我在本地计算机上设置了SMTP服务器

在我的PHP脚本中,我正在将.txt文件保存到SMTP服务器正在侦听的目录中。当脚本保存到文件时,SMTP服务器将其发送出去

我的脚本如下所示:

$content  = "MIME-Version: 1.0" . PHP_EOL;
$content .= "Content-Type: text/html; charset=ISO-8859-1" . PHP_EOL;
$content .= 'From: user@domain.com' ."\r\n";
$content .= 'To: user@domain.com' . "\r\n";
$content .= "CC: susan@example.com\r\n";
$content .= 'Subject: Email test' . "\r\n";

$content .= 'Service Required - '. $_POST['service'] . "\r\n";
$content .= 'Contact - ' . $_POST['contact'] . "\r\n";
$content .= 'About - ' . $_POST['about'] . "\r\n";
$content .= 'Files - File size was to big for upload';

$fp = fopen('C:/inetpub/mailroot/pickup/email.txt',"wb");
fwrite($fp,$content);
fclose($fp);
发送到Gmail时,会出现正文

但发送到outlook时,正文是空的。

请尝试替换:

$content .= "Content-Type: text/html; charset=ISO-8859-1" . PHP_EOL;
与:

不是100%确定,但Outlook可能没有显示任何内容,因为您告诉它希望使用HTML,但它没有收到任何内容。如果这是唯一的问题,那么你很幸运,谷歌试图为你猜测

此外:

与:


SMTP希望在标题和内容之间有一条新的双线。再一次,我认为谷歌在猜测那里发生了什么方面做得很好

另外,根据软件对读取这些文本文件的监视,要小心邮件服务器被劫持。恶意帖子可能会构造一些文本输出,然后运行riot。我会在写入文件之前转义您的POST变量…感谢“建议”按钮,但不幸的是,它不起作用。仍然说没有预览可用。我一定要逃离他们。仅以这种方式进行设置,因为邮件功能似乎不希望在IIS上工作:IV将SMTP设置为仅接受本地主机。非常感谢!你太棒了。添加双新行有效!。我怎么能接受这个作为这里的awnser?酷,没问题。提供了额外的解释。我不知道该怎么接受,但我认为你做到了!
$content .= "Content-Type: text/plain; charset=ISO-8859-1" . PHP_EOL;
$content .= 'Subject: Email test' . "\r\n";
//double new line between headers and content
$content .= 'Subject: Email test' . "\r\n\r\n";