关于nodemailer使用126邮箱发邮件时Error: Invalid login的问题
发布于 6 年前 作者 thomas0836 12221 次浏览 最后一次编辑是 5 年前 来自 问答

var mailer = require(‘nodemailer’); var config = require(’…/config’); var util = require(‘util’); var transport = mailer.createTransport(config.mail_opts); var SITE_ROOT_URL = ‘http://’ + config.host; var sendMail = function (data) { if(config.debug) { return; } transport.sendMail(data, function (err) { if(err) { console.log(err); }else{ console.log(“success send mail”,data); } }); }; exports.sendMail = sendMail;

config 部分

var wellknown = require(‘nodemailer-wellknown’); var config = { // 邮箱配置 mail_opts: wellknown(‘126’) } config.mail_opts.auth = { user: ‘xxxxxxx@126.com’, pass: ‘xxxxxx’ };

126 邮箱上的设置

屏幕快照 2015-07-28 下午10.01.28.png

但是 发送邮件时依然

{ [Error: Invalid login] code: ‘EAUTH’, response: ‘535 Error: authentication failed’, responseCode: 535 }

百度了一些资料还是无法解决 请大神们指导

6 回复

你是不是帐号密码不对啊? 我这里用163的帐号是成功的.

var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport({
    service: '163',
    auth: {
        user: '@163.com',
        pass: ''
    }
});
var mailOptions = {
    from: '@163.com', // sender address
    to: '@163.com', // list of receivers
    subject: 'Hello ✔', // Subject line
    text: 'Hello world ✔', // plaintext body
    html: '<b>Hello world ✔</b>' // html body
};
transporter.sendMail(mailOptions, function (error, info) {
    if (error) {
        console.log(error);
    } else {
        console.log('Message sent: ' + info.response);
    }
});

pass应该填客户端授权密码而非你的邮件账户密码,本人刚趟过此坑

@meteormatt 密码没有错,听说126的推出了客户端授权密码,不知道是不是这个的问题

@pfcoder 如你所说果然是这样……pass填的是 授权密码! 坑死了,搞了这么多天

@thomas0836 那个功能关闭就可以了.

@meteormatt 可以关的么?我是开启smtp的时候它自动开启的…我试下!Thx

回到顶部