通过 Mandrill NodeJS API 发送时我没有收到电子邮件
Posted
技术标签:
【中文标题】通过 Mandrill NodeJS API 发送时我没有收到电子邮件【英文标题】:I don't get emails when sending by Mandrill NodeJS API 【发布时间】:2015-01-18 22:27:10 【问题描述】:我在下面有这个功能,它允许我使用 mandrill nodeJS API 发送邮件:
var mandrill = require('mandrill-api/mandrill');
var mandrill_client = new mandrill.Mandrill(config.values.mandrill_api_key);
exports.sendMail = function(htmlContent, textContent, subject, from_email, from_name, to_email, to_name ,reply_to_email, callback)
var message =
"html": htmlContent,
"text": textContent,
"subject": subject,
"from_email": from_email,
"from_name": from_name,
"to": [
"email": to_email,
"name": to_name,
"type": "to"
],
"headers":
"Reply-To": reply_to_email
,
"important": false
;
var async = false;
mandrill_client.messages.send("message": message, "async": async, function(result)
console.log(result);
callback(result);
, function(e)
console.log('A mandrill error occurred: ' + e.name + ' - ' + e.message);
);
;
在 mandrill 控制台 (https://mandrillapp.com/activity) 上,我可以看到电子邮件已成功发送(状态:已发送)。
但是我的 gmail 邮箱和 hotmail 邮箱都没有。
如何解决这个问题?
谢谢,
【问题讨论】:
做一个反向 dns 查找,也许你被阻止了,还尝试将服务器 ip 添加到 smtp 发件人的白名单中,我认为这个问题根本不应该与你的代码有关。 【参考方案1】:请确定,您没有使用测试 API 密钥。
您可以使用测试密钥来试验 Mandrill 的 API。没有实际发送邮件,但 webhook 正常触发,您可以生成综合退回邮件和投诉,而不会影响您的声誉。
【讨论】:
【参考方案2】:问题解决了。
我必须在我的 DNS 区域中添加特殊字段:DKIM 和 SPF
http://help.mandrill.com/entries/22030056-how-do-i-add-dns-records-for-my-sending-domains
【讨论】:
以上是关于通过 Mandrill NodeJS API 发送时我没有收到电子邮件的主要内容,如果未能解决你的问题,请参考以下文章
Codeigniter 和 Mandrill api,无法发送电子邮件
您将如何使用 phantomjs 通过 mandrill 发送邮件?