主要功能:采用nodeemailer写一个发送邮件的功能
环境:
nodemailer 版本2.3.0,
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
然后在createTransport时使用授权密码
我记得163邮箱的smtp密码不是你的账号密码。。。。去看下163邮箱的设置。