获取250 OK状态从SendGrid发送,但电子邮件永远不会在邮箱中结束

时间:2015-05-10 19:19:47

标签: node.js sendgrid

function sendEmailVerification(username, email, destination, response, cb){

    // create a random number
    var email_url = security.createEmailToken(username, email);

    // create a new URL for the verify call that will go into the email
    link=PROTOCOL+"://"+destination+"/verify?token="+email_url;

//      to : request.query.to,
   var verifyEmail = new sendgrid.Email();
    verifyEmail.addTo(email);
    verifyEmail.setSubject('Verify your email with example.com.');
    verifyEmail.setFrom('verify@example.com');
    verifyEmail.setText(link);
    verifyEmail.setHtml(link);

    verifyEmail.addFilter('templates', 'enable', 1);
    verifyEmail.addFilter('templates', 'template_id', '3cf3g721-4a31-4fd1-a862-408707e18c96');

    logger.debug("send: mail options for user: " + JSON.stringify(verifyEmail));

    // use the smtp transport to send the email
    sendgrid.send(verifyEmail, function(error, resp) {
        if (error) {
            logger.error(error);
            response.status(500).send("A backend email send error occurred.");
            response.end();
        } else {
            logger.debug("Message sent: " + resp.message);
            response.status(200).send("email sent");
        }
        cb();
    });
}

我做错了什么?似乎客户服务不接受我的电子邮件。这是标题的问题吗?我正在尝试发送带有SendGrid模板的验证邮件。

非常感谢任何建议,并提前感谢您!

1 个答案:

答案 0 :(得分:2)

您是否在SendGrid帐户上查看了电子邮件活动?

邮件传递有两个重要步骤:您将邮件传递给SendGrid(200 OK Martyn正在谈论),SendGrid尝试为您传递邮件(理想情况下,250 Delivered事件)。 / p>

如果您收到了250个已发送的事件,但未在收件人端看到该事件,则表示邮件服务器正在接受来自SendGrid的邮件,但由于某种原因未将其发送给收件人。不幸的是,SendGrid除了Delivered事件之外还看不到任何其他内容,因此您必须与接收服务器的邮件管理员交谈才能看到该消息发生了什么。