我正在寻找一种方法来测试本地开发应用程序时的一些电子邮件发送功能,即http://localhost:[some-port]
我在用着Mailchimp 的 Mandrill这是官方的Mandrill API 模块在 Node.js 上。
Mandrill 需要为发送域设置一些 DKIM/SPF 设置,我不确定如何设置我localhost
的发送域。
来自他们的文档:
您需要添加 SPF 和 DKIM 记录并验证发送域的所有权,然后才能通过您的帐户发送电子邮件。Mandrill 不会发送来自未经验证的域或没有有效 SPF 和 DKIM 记录的域的任何电子邮件,包括 gmail.com、yahoo.com 等公共域。
因此基本上 Mandrill 需要设置发送域名和DKIM/SPF每个域的设置
我已经成功设置了我的主域和实时www.something.com
域()的设置,但现在我还想进行设置localhost
,以便在进行本地开发时进行测试
未设置localhost
为发送域,导致“拒绝/未签名”错误
当然,如果我没有设置localhost
为发送域,任何尝试发送消息都会导致此错误:
[ { email: '[email protected]',
status: 'rejected',
_id: 'bdbd8317b1a14986852b93e12a24246e',
reject_reason: 'unsigned' } ]
设置localhost
为发送域
有没有实际的方法可以设置localhost
为 发送域?
笔记:我已经在测试测试 API 密钥
答案1
DKIM/SPF 查找
您应该将电子邮件作为公共 DNS 中的有效域发送。这允许 DKIM 和 SPF 查找按预期运行。您能使用与 production/live 相同的域,但您可能希望将 dev.something.com 之类的子域用作发送域。这将需要它自己的 SPF/DKIM DNS 条目。
域名所有权
最多收件人域不会接受来自未经身份验证/未经验证的来源的电子邮件。所以是的,你需要拥有一个域名。从 EasyDNS 等处获取免费域名就足够了。你不一定需要二级域名。你做需要能够在区域上添加 TXT 记录和 CNAME,以便接收电子邮件服务器进行公开查找。