如何在没有邮件接收客户端的情况下验证 Mandrill 自定义发送域?
Posted
技术标签:
【中文标题】如何在没有邮件接收客户端的情况下验证 Mandrill 自定义发送域?【英文标题】:How to verify Mandrill custom sending domain without a mail receiving client? 【发布时间】:2015-12-16 07:36:19 【问题描述】:背景
我使用 Mandrill 作为我的 SMTP 发送邮件服务器。在我的自定义域 DNS 中设置 MX 后,我可以通过 Mandrill 发送电子邮件。
但是,当阅读来自 Gmail 客户端的电子邮件时,总是会显示“代表”行。我知道可以通过设置 DKIM 和 SPF 设置来删除此签名,我在 Mandrill 后端这样做了。
问题
有趣的部分来了:Mandrill 要求您通过向该自定义域发送电子邮件来“验证域”。但是,我没有后端应用程序来接收 Mandrill 的“入站电子邮件”。 由于 Mandrill 没有提供其他邮件客户端,如何验证发送域?
参考文献
Why am I seeing extra information next to the sender’s name?(由 Google 提供) How Do I Get Rid Of The 'On Behalf Of' Message That Shows For Some Recipients?(山魈)【问题讨论】:
你解决过这个问题吗?我正在考虑改用 Mandrill,但这个问题让我担心。 并非如此。仍在等待更好的解决方案。 @kavare 您不需要 MX 记录来发送电子邮件。 MX 记录用于接收电子邮件,而 TXT 记录用于发送电子邮件。 如果他们像许多其他人那样做,并允许通过简单的 DNS TXT 记录验证域,这将大大简化。客户只需 5 分钟即可完成设置和确认,而不是构建邮件基础设施来支持简单的验证。 【参考方案1】:我之前也遇到过同样的问题。我有一个在服务器上运行的 Web 应用程序。因此,我通过添加一些 MX 记录来配置 mandrill 上的传入邮件,然后为指向我的 Web 应用程序上的 POST
端点之一的随机地址创建同一域的路由。
因此,每当有人向该地址发送电子邮件时,我都会在我放入控制面板的 Web 端点上收到 POST
请求。 Mandrill 在电子邮件正文中提供了一个确认 url。因此,通过查看日志,我们可以直接将url复制并粘贴到浏览器中,并验证域。
如果不需要,可以在之后删除 mandrill 中的传入域。
【讨论】:
这基本上很棒。但是,如果我没有另一个可以处理这个POST
请求的应用程序后端怎么办?而不是解决方法,我认为如果 Mandrill 可以使这个验证过程更容易会更好......
这是天才,而且工作得很好。但我希望看到 Mandrill/MailChimp 可以替代验证 URL【参考方案2】:
我听从了Melyssa Griffin 的建议,并使用 Google 套件创建了一个域为 @mycompany.com 的电子邮件地址。尽管您确实可以访问您的 DNS 系统,并且愿意输入一些信用卡详细信息,但设置起来非常容易。请务必在 30 天前取消套房服务,否则您将被收取费用。
【讨论】:
【参考方案3】:我能够使用本文中的步骤进行验证,而无需设置邮件服务。与之前的答案类似,但使用 requestb.in。
-
根据文档在 Mandrill 中设置 MX 记录
创建新的RequestBin https://requestb.in
添加到电子邮件地址的路由,例如admin@mandrill.example.com(这不必是工作电子邮件地址),它发布到 RequestBin 例如https://requestb.in/wwxxyyzz
从 Mandrill“发送域”界面发送域验证邮件
电子邮件应该可以在
RequestBin 例如https://requestb.in/wwxxyyzz?inspect
在原始电子邮件中找到验证链接(可能需要删除反斜杠)并粘贴到浏览器中以完成过程
https://blog.ashfame.com/2016/11/verify-sending-domain-mandrill-email-hosting/
【讨论】:
以上是关于如何在没有邮件接收客户端的情况下验证 Mandrill 自定义发送域?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有验证码或集中管理系统(例如 akismet)的情况下防止垃圾邮件
如何在没有客户端的情况下使用 facebook 的护照在 node.js 中构建 REST 服务?