我在下面有这个功能,它允许我发送一个带有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邮箱或邮箱中找到它。
如何解决此问题?
谢谢,
答案 0 :(得分:1)
请确保您没有使用测试API密钥。
您可以使用测试键来试验Mandrill的API。实际上没有发送邮件,但是webhooks正常触发,您可以在不影响声誉的情况下生成合成反弹和投诉。
答案 1 :(得分:0)
问题解决了。
我必须在DNS区域中添加特殊字段:DKIM和SPF
http://help.mandrill.com/entries/22030056-how-do-i-add-dns-records-for-my-sending-domains