我在 Node 6.9.1 上使用 Nodemailer 2.6.4
var nodemailer = require("nodemailer");
var wellknown = require('nodemailer-wellknown');
var transporter = nodemailer.createTransport("SMTP",{
service: "yahoo",
auth: {
user: ",,,@yahoo.com",
pass: ",,,,,,"
}
});
transporter.sendMail({
from : sender_address,
to : recipients,
reply_to : "<other_user@domain.it>",
subject : "The subject",
text : "a text message"
},
function(error, response) {}
);
运行它时我收到此错误:
Error: Unsupported configuration, downgrade Nodemailer to v0.7.1 to use it
我想学习使用最新版本,那么我必须改变什么?
最佳答案
您当前的代码适用于旧版本的 Nodemailer,与更新的版本不兼容。给定example in the README对于最新版本应该可以正常工作:
var nodemailer = require('nodemailer');
var smtpConfig = {
host: 'smtp.mail.yahoo.com',
port: 465,
secure: true,
auth: {
user: '...',
pass: '...'
}
};
var transporter = nodemailer.createTransport(smtpConfig);
var mailOptions = {
from: '...',
to: '...',
subject: '...',
text: '...',
html: '...'
};
transporter.sendMail(mailOptions, function(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: ' + info.response);
});
如您所见,createTransport
中的“SMTP”字符串不再是必需的。
我用 SMTP settings 改编了示例对于雅虎。您也可以使用 nodemailer-wellknown
就像您目前正在做的那样,在这种情况下将 smtpConfig
替换为:
var smtpConfig = {
service: 'yahoo',
auth: {
user: '...',
pass: '...'
}
};
关于javascript - 不支持的配置,将 Nodemailer 降级到 v0.7.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40958703/