我正在努力弄清楚如何在 Hotmail.com 上击败这个过程。
当我使用 PHP 脚本(以及使用 Sendmail 的 PHPMailer 库)发送电子邮件时,查看来自 Hotmail.com 的邮件的收件人会收到一条非常裸露的消息。图像在那里,但所有的HTML格式(样式,属性,超链接)都被剥离了。甚至连<td>
属性都没有保留(如colspan
、cellpadding
等)。
但是,当我直接从常规邮件客户端(或网络邮件界面)发送完全相同的邮件时,所有格式和样式都将保持不变。
我的 PHP 脚本向一组收件人发送自定义的 HTML 消息,但它一个接一个地完成(为每个收件人自定义消息的部分)。
看来Hotmail似乎不信任我的服务器处理邮件,并且正在删除属性和链接作为安全预防措施。但是,接收用户无法覆盖此设置。将发件人添加到白名单不会执行任何操作。我已经在Microsoft论坛上发布了这个,但没有取得多大成功。我希望这里有人可能已经解决了同样的问题并找到了解决方案,或者至少是变通方法。
我尝试了各种事情。我在发送两条消息之间设置了几秒钟的时间延迟,认为 Hotmail 不喜欢群发邮件,如果两封或多封邮件同时来自同一发件人,它将激活此阻止。它没有帮助。我尝试使用SMTP脚本,通过g-mail的SMTP服务器发送邮件。同样的问题 - 去除格式。
[更新]:我甚至尝试使用Microsoft自己的SMTP服务器发送hotmail,使用有效的 outlook.com 用户帐户发送(从那个PHPMailer脚本)。通过 Web 界面查看 hotmail.com 邮件时,邮件仍会去除所有格式和链接。
同时,当通过邮件客户端(iOS,OSX,Windows,Android,MS Outlook)查看这些问题消息时,一切都很好。[/更新]
现在,我的解决方法是为我希望用户使用的这个重要链接粘贴一个长URL,用于电子邮件地址中有"hotmail"或"outlook"或"live"的收件人。
有什么创造性的想法吗?
[更新 2]经过大量修补,我能够重新格式化消息,以便至少保留一些格式,所以现在,我得到了<table>
标签来工作。奇怪的是,<bgcolor>
也可以工作,但<center>
不起作用,任何 css 样式属性(既不是<tr>
,也不是<td>
或<table>
本身)。幸运的是,我现在有<a href>
标签正常工作,因此链接再次起作用。我基本上已经放弃了整个事情,并开发了一个单独的基本模板,仅适用于hotmail/outlook收件人。
令人 沮丧![/更新 2]
我不确定这对您来说仍然是一个问题,但由于我没有找到有关此事的任何资源,我认为将其发布在这里很有用。
我遇到了同样的问题,我认为这是我的链接是假人(只有href="#"
),并且 Outlook 剥离了它们(而 gmail 重写了 href)。
显然,如果没有有效的href
标签,它会剥离链接,即使它仅用于化妆品。
我建议不要将它们用于链接以外的任何其他内容(显然)。
希望它能有所帮助。