【问题标题】:E-mail getting rejected sent by Nodemailer电子邮件被 Nodemailer 拒绝发送
【发布时间】:2021-09-09 19:39:44
【问题描述】:

我正在尝试在 nodemailer-express-handlebars 的帮助下发送一封包含 HTML 内容的电子邮件。每次我的邮件被Gmail阻止时,可以在发件人的Gmail发件箱中检查,而我从nodemailer获得成功消息 Email sent: 250 2.0.0 OK 1595608108 i66sm6757247pfc.12 - gsmtp 我无法理解为什么会发生这种情况,因为当我发送带有文本的邮件时,它会被送达。

节点邮件代码

sendMail=(email)=>{
    var transporter = nodemailer.createTransport({
        service: 'gmail',
        auth: {
          user: 'emailId',
          pass: 'password'
        }
      });

      transporter.use('compile',hbs({
          viewEngine:{
            partialsDir:"./views/",
            defaultLayout: "",
            layoutsDir: "",
          },
          viewPath:"./views/",
          extName:'.hbs',
      }))
      var mailOptions = {
        from: '<xyz@gmail.com>',
        to: email,
        subject: 'Your order has been placed successfully.',
        template:'mail',
        context:{
            name:"XYZ",
            address:"133"
        }
 
      };
      
      transporter.sendMail(mailOptions, function(error, info){
        if (error) {
          console.log(error);
        } else {
          console.log('Email sent: ' + info.response);
        }
      });
}

【问题讨论】:

  • 您是否授予了 gmail 所需的权限?
  • 可以,接收方可以收发短信但不能发送html
  • 你是从本地主机发送这个吗?
  • 当前使用本地主机。跟它有关系吗?

标签: node.js express nodemailer


【解决方案1】:

将 OAuth2 与 NodeMailer 和 Gmail 一起使用是 recommended。使用普通的用户名和密码可能会导致您出现问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 2012-12-25
    • 1970-01-01
    • 2017-05-16
    • 2015-05-19
    相关资源
    最近更新 更多