通过Mandrill NodeJS API发送时,我不会收到电子邮件

时间:2014-11-20 21:43:15

标签: node.js mandrill

我在下面有这个功能,它允许我发送一个带有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邮箱或邮箱中找到它。

如何解决此问题?

谢谢,

2 个答案:

答案 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