微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错误:来自电子邮件地址的无效-SendGrid

如何解决错误:来自电子邮件地址的无效-SendGrid

几年来,我一直在使用SendGrid.com来处理密码重置电子邮件请求,而没有出现任何问题。我没有进行任何更改,最近两天,所有用户在所有电子邮件请求中均收到“ 错误:来自电子邮件地址的无效错误

在所有有效的电子邮件地址上都会发生这种情况。

对于我的一生,我无法弄清楚为什么这会随机发生。 SendGrid似乎最终运行正常。我正在等待获得Sendgrid的反馈。

我的设置:

    var nodemailer = require('nodemailer');
    var sgTransport = require('nodemailer-sendgrid-transport');

    app.post('/forgot',usernametoLowerCase,function(req,res,next) {
    async.waterfall([
    function(done) {
    crypto.randomBytes(20,function(err,buf) {
    var token = buf.toString('hex');
    done(err,token);
    });
    },function(token,done) {
    User.findOne({ username: req.body.username },user) {
    if (!user) {
    req.flash('error','No account with that email address exists.');
    return res.redirect('/forgot');
    }
    
    user.resetPasswordToken = token;
    user.resetPasswordExpires = Date.Now() + 3600000; // 1 hour
    
    user.save(function(err) {
    done(err,token,user);
    });
    });
    },user,done) {
    
    
    var options = {
    auth: {
    api_user: '=====',api_key: '======'
    }
    }
    
    var client = nodemailer.createTransport(sgTransport(options));
    
    var email = {
    from: 'BusinessName',to: user.username,subject: 'Reset Your Password',text:'====='
    };
    
    client.sendMail(email,function(err) {
    req.flash('success','An email was sent to ' + user.username + ' with further instructions.' );
    done(err);
    });
    }
    ],function(err) {
    if (err) return next(err);
    res.redirect('/forgot');
    });
    });

解决方法

我在php的SendGrid库中收到相同的错误消息“来自电子邮件地址无效”。似乎SendGrid在from字段格式方面对其api进行了一些不兼容的更改。

在我的情况下,from字段不再接受单个电子邮件地址,因此我将其更改为具有单个电子邮件地址的数组,并且可以正常工作。

from: ['some@example.com']

如果没有帮助,请尝试比较来自传输包装程序的请求和SendGrid文档https://sendgrid.com/docs/API_Reference/Web_API_v3/index.html。 我不确定包装器的工作方式,但是api中from字段的预期格式如下:

"from": {
  "email": "example@example.com"
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。