NodeMailer无效登录

时间:2014-11-15 17:20:55

标签: javascript node.js smtp server-side nodemailer

我是node.js编程新手。我使用nodemailer模块发送电子邮件。

const nodemailer = require ('nodemailer'),
credentials=require('./credentials.js');
var mailTransport=nodemailer.createTransport({
    service:'Gmail',
    auth: {
        user : credentials.gmail.user,
        pass : credentials.gmail.password,
    }
});
function sendMail(mail_id){
    mailTransport.sendMail({
        from: ' "my name" <myname@gmail.com>',
        to : mail_id,   //user@gmail.com
        subject : 'Hello',
        text: "Hello How do u do ?",
    },function(err,info){
        if(err){
            console.log('Unable to send the mail :'+err.message);
        }
        else{
            console.log('Message response : '+info.response);
        }
    });
}
exports.sendMail=sendMail;

这是我向不同用户发送电子邮件的程序。但我得到无效登录。我不知道为什么会这样。我是node.js和服务器端脚本的新手。
我正在使用我的Gmail用户名和密码来获取凭据 请帮帮我。

6 个答案:

答案 0 :(得分:24)

一个原因可能是Gmail的“现代安全标准”保护。

检查gmail收件箱中是否有任何主题为“Google帐户:登录尝试已被屏蔽”的新邮件

如果是,请打开邮件并点击链接https://www.google.com/settings/security/lesssecureapps

将'访问安全性较低的应用'设置为'开启'。再试一次,现在应该可以了。

答案 1 :(得分:9)

您需要为应用启用安全性:

| * |如果你使用gmail,

dependencies {
    compile project(':realm')
    compile project(':react-native-schedule-sms')
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules
}

| * |如果你使用雅虎,

Use :

    service: 'gmail',

Goto : 

    https://myaccount.google.com/lesssecureapps

Enable : 

    Allow less secure apps: ON

| * |如果您使用Live或Hotmail,则无需启用任何内容。

Use :

    service: 'yahoo',

Goto : 

    https://login.yahoo.com/account/security

Enable : 

    Allow apps that use less secure sign in

答案 2 :(得分:7)

您是否仔细检查过您的登录凭据?你也仔细检查了#34;来自&#34;地址与您的电子邮件相匹配?

我在3周前使用nodemailer进行了一些测试,在github页面上给出了gmail示例,它就像一个魅力:

https://github.com/andris9/Nodemailer

无效登录表示输入错误/错误凭据。

答案 3 :(得分:3)

特别是2个问题:或者您没有启用缺少安全应用 https://myaccount.google.com/lesssecureapps,或者您没有启用显示解锁验证码 {{3} },您需要同时打开它们。

答案 4 :(得分:1)

就我而言, 仅打开安全性较低的应用是不够的:https://myaccount.google.com/lesssecureapps

我还必须启用显示解锁验证码:https://accounts.google.com/DisplayUnlockCaptcha

这解决了我的问题,我能够使用nodemail和gmail发送电子邮件。

实际上,nodemailer社区站点本身说,如果启用安全性较低的应用程序不能单独运行,则执行第二步以启用验证码。
https://community.nodemailer.com/using-gmail/

enter image description here

上图取自我共享的nodemailer文章链接。

答案 5 :(得分:0)

如果您有工作区用户帐户,作为管理员,您可能需要:

  1. 创建用户组
  2. 将用户添加到该组
  3. 转到用户组设置并在安全下启用不安全的应用,这样其他组的电子邮件不会受到影响
  4. 如果这还不够(前三个步骤一切正常,几个月后这对我有用),请转到 myaccount.google.com 并使用特定用户的电子邮件和密码登录,再次转到安全并转到安全性较低的应用。