关于nodeemailer问题

主要功能:采用nodeemailer写一个发送邮件的功能
环境:

  1. nodemailer 版本2.3.0,

  2. node版本4.1.2
    代码如下:

var transporter = nodeemialer.createTransport({
    host: "smtp.163.com",
    secureConnection: true, // use SSL
    port: 25, // port for secure SMTP
    auth: {
        user: "*****@163.com",
        pass: "*****"
    }
});
var mailOptions = {
    from: '"share__us" <****@163.com>',
    to: '***@msn.com',
    subject: 'Hello',
    text: 'Hello world',
    html: '<b>Hello world</b>',
    attachments: [{
        filename  : '',
        content : ''
    },{
        filename  : '',
        path : ''
    }]
}
transporter.sendMail(mailOptions, function(error, info){
    if(error){
        console.log(error);
    }else{
        console.log('Message sent : ' + info.response);
    }
});
transporter.close();

运行后,会返回如下错误:

{ [Error: Invalid login: 550 User has no permission]
  code: 'EAUTH',
  response: '550 User has no permission',
  responseCode: 550 }

但我的用户名与密码是正确的,请问各位大神,我的代码有什么问题吗?或者我少了哪些步骤?

详细答案如下:

网易新注册的邮箱smtp验证用的是授权码,不是密码
设置->POP3/SMTP/IMAP

clipboard.png

然后在createTransport时使用授权密码

阅读 3.9k
1 个回答

我记得163邮箱的smtp密码不是你的账号密码。。。。去看下163邮箱的设置。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题