7
通过wp_mail()发送多部分(文本/ html)电子邮件可能会导致您的域被禁止
摘要 由于WP Core中存在一个错误,具有讽刺意味的是,您的域被Hotmail(和其他Microsoft电子邮件)阻止了,因此使用wp_mail()发送多部分电子邮件(html /文本)(以减少电子邮件最终进入垃圾邮件文件夹的可能性)。 这是一个复杂的问题,我将详细分解以帮助某人找到可行的解决方案,并最终在核心中实现。 这将是一个有益的阅读。让我们开始... 错误 避免使时事通讯电子邮件最终进入垃圾邮件文件夹的最常见建议是发送多部分邮件。 多部分(MIME)是指在一封电子邮件中同时发送电子邮件的HTML和TEXT部分。客户端收到多部分消息时,如果可以呈现HTML,则接受HTML版本,否则将呈现纯文本版本。 事实证明这是可行的。当发送到gmail时,我们所有的电子邮件都将放入垃圾邮件文件夹,直到当它们到达主收件箱时我们将邮件更改为多部分。好东西。 现在,当通过wp_mail()发送多部分消息时,它将两次输出内容类型(multipart / *),一次是带有边界(如果是自定义设置的),一次是没有边界的。此行为导致电子邮件被显示为原始消息,而不是包括某些所有 Microsoft(Hotmail,Outlook等)在内的某些电子邮件的一部分。 Microsoft将将此邮件标记为垃圾邮件,而接收到的少量邮件将由收件人手动标记。不幸的是,Microsoft电子邮件地址被广泛使用。我们有40%的订户使用它。 微软通过我们最近进行的电子邮件交换确认了这一点。 标记消息将导致域被完全阻止。这意味着该邮件将不会发送到垃圾邮件文件夹,甚至根本不会发送给收件人。 到目前为止,我们已经屏蔽了3次主域名。 因为这是WP核心中的错误,所以发送多部分消息的每个域都被阻止。问题是大多数网站管理员都不知道为什么。我在进行研究时发现这一点,并看到其他用户在论坛等上进行讨论。这需要深入研究原始代码,并对这些电子邮件的工作方式有充分的了解,我们将继续进行下一步... 让我们将其分解为代码 创建一个hotmail / outlook帐户。然后,运行以下代码: // Set $to to an hotmail.com or outlook.com email $to = "YourEmail@hotmail.com"; $subject = 'wp_mail testing multipart'; $message = '------=_Part_18243133_1346573420.1408991447668 Content-Type: text/plain; charset=UTF-8 Hello world! This is …