为什么 iCloud 会阻止我的某些应用程序电子邮件?

Why is iCloud blocking some of my applications emails?

几个月来,iCloud 电子邮件地址(@icloud、@mac、@me)收不到我们从 rails 应用程序通过 SendGrid 发送的一些 html 电子邮件 运行 在 Heroku 上。他们根本没有通过(甚至不是垃圾邮件),看起来他们是在我们这边交付的。

这些电子邮件更新对于我们的用户来说是非常重要的通知。我们已经与 SendGrid 支持和 Apple 支持进行了交谈,我们还尝试过暂时切换到 Mandril。到目前为止没有任何效果!

事实证明,iCloud 会默默地阻止包含十六进制编码的 mailto 标签的电子邮件,如下所示

mail_to "support@example.com", "contact us", :encode=>:hex

This article 让我相信这与电子邮件内容有关。我将被阻止的电子邮件缩小到一个特定的模板。然后我更改了所有 headers 以查看 headers 是否导致 iCloud 被阻止。电子邮件仍然因更改 headers 而被阻止,因此我开始在二进制搜索中删除部分 body,从而将问题缩小到 mail_to 调用。删除十六进制编码允许电子邮件通过。

这让我们抓狂,因为没有任何相关文档,甚至 Apple 的支持也无济于事。我希望这可以为某人省去一些麻烦。