首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Gmail和NodeJS的Nodemailer

使用Gmail和NodeJS的Nodemailer
EN

Stack Overflow用户
提问于 2013-11-09 22:43:55
回答 24查看 208.3K关注 0票数 138

我尝试使用nodemailer来实现一个使用NodeJS的联系人表单,但它只能在本地运行,不能在远程服务器上运行……

My error message :

代码语言:javascript
复制
[website.fr-11 (out) 2013-11-09T15:40:26] { [AuthError: Invalid login - 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbvlX
[website.fr-11 (out) 2013-11-09T15:40:26] 534-5.7.14 V-dFQLgb7aRCYApxlOBuha5ESrQEbRXK0iVtOgBoYeARpm3cLZuUS_86kK7yPis7in3dGC
[website.fr-11 (out) 2013-11-09T15:40:26] 534-5.7.14 N1sqhr3D2IYxHAN3m7QLJGukwPSZVGyhz4nHUXv_ldo9QfqRydPhSvFp9lnev3YQryM5TX
[website.fr-11 (out) 2013-11-09T15:40:26] 534-5.7.14 XL1LZuJL7zCT5dywMVQyWqqg9_TCwbLonJnpezfBLvZwUyersknTP7L-VAAL6rhddMmp_r
[website.fr-11 (out) 2013-11-09T15:40:26] 534-5.7.14 A_5pRpA> Please log in via your web browser and then try again.
[website.fr-11 (out) 2013-11-09T15:40:26] 534-5.7.14 Learn more at https://support.google.com/mail/bin/answer.py?answer=787
[website.fr-11 (out) 2013-11-09T15:40:26] 534 5.7.14 54 fr4sm15630311wib.0 - gsmtp]
[website.fr-11 (out) 2013-11-09T15:40:26]   name: 'AuthError',
[website.fr-11 (out) 2013-11-09T15:40:26]   data: '534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbvlX\r\n534-5.7.14 V-dFQLgb7aRCYApxlOBuha5ESrQEbRXK0iVtOgBoYeARpm3cLZuUS_86kK7yPis7in3dGC\r\n534-5.7.14 N1sqhr3D2IYxHAN3m7QLJGukwPSZVGyhz4nHUXv_ldo9QfqRydPhSvFp9lnev3YQryM5TX\r\n534-5.7.14 XL1LZuJL7zCT5dywMVQyWqqg9_TCwbLonJnpezfBLvZwUyersknTP7L-VAAL6rhddMmp_r\r\n534-5.7.14 A_5pRpA> Please log in via your web browser and then try again.\r\n534-5.7.14 Learn more at https://support.google.com/mail/bin/answer.py?answer=787\r\n534 5.7.14 54 fr4sm15630311wib.0 - gsmtp',
[website.fr-11 (out) 2013-11-09T15:40:26]   stage: 'auth' }

我的控制器:

代码语言:javascript
复制
exports.contact = function(req, res){
    var name = req.body.name;
    var from = req.body.from;
    var message = req.body.message;
    var to = '*******@gmail.com';
    var smtpTransport = nodemailer.createTransport("SMTP",{
        service: "Gmail",
        auth: {
            user: "******@gmail.com",
            pass: "*****"
        }
    });
    var mailOptions = {
        from: from,
        to: to, 
        subject: name+' | new message !',
        text: message
    }
    smtpTransport.sendMail(mailOptions, function(error, response){
        if(error){
            console.log(error);
        }else{
            res.redirect('/');
        }
    });
}
EN

回答 24

Stack Overflow用户

发布于 2014-11-27 07:27:31

我通过以下网址解决了这个问题(使用我想发送邮件的账号连接到google ):

https://www.google.com/settings/security/lesssecureapps

在那里,我启用了安全性较低的应用程序。

完成

票数 155
EN

Stack Overflow用户

发布于 2017-01-26 05:34:46

请参阅nodemailer的官方Gmail连接指南:

https://community.nodemailer.com/using-gmail/

-

在这样做之后,它对我来说是有效的:

https://www.google.com/settings/security/lesssecureapps

票数 84
EN

Stack Overflow用户

发布于 2017-08-08 15:17:25

简易解决方案:

代码语言:javascript
复制
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');

var transporter = nodemailer.createTransport(smtpTransport({
  service: 'gmail',
  host: 'smtp.gmail.com',
  auth: {
    user: 'somerealemail@gmail.com',
    pass: 'realpasswordforaboveaccount'
  }
}));

var mailOptions = {
  from: 'somerealemail@gmail.com',
  to: 'friendsgmailacc@gmail.com',
  subject: 'Sending Email using Node.js[nodemailer]',
  text: 'That was easy!'
};

transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});  

第1步:

转到此处https://myaccount.google.com/lesssecureapps并启用安全性较低的应用程序。如果这不起作用,那么

步骤2

转到此处https://accounts.google.com/DisplayUnlockCaptcha并启用/继续,然后尝试。

对我来说,单独的第一步不起作用,所以我必须转到第二步。

我还尝试删除了nodemailer-smtp-transport包,令我惊讶的是,它可以正常工作。但是当我重新启动我的系统时,它给了我同样的错误,所以我不得不去打开不太安全的应用程序(我在工作后禁用了它)。

然后为了好玩,我只是尝试了关闭(不太安全的应用程序)和vola,它再次工作!

票数 68
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19877246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档