Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不支持的配置,将NodeEmailer降级到v0.7.1_Javascript_Node.js_Npm_Nodemailer - Fatal编程技术网

Javascript 不支持的配置,将NodeEmailer降级到v0.7.1

Javascript 不支持的配置,将NodeEmailer降级到v0.7.1,javascript,node.js,npm,nodemailer,Javascript,Node.js,Npm,Nodemailer,我正在节点6.9.1上使用NodeEmailer 2.6.4 var nodemailer = require("nodemailer"); var wellknown = require('nodemailer-wellknown'); var transporter = nodemailer.createTransport("SMTP",{ service: "yahoo", auth: { user: ",,,@yahoo.com",

我正在节点6.9.1上使用NodeEmailer 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) {}
);
var nodemailer=require(“nodemailer”);
var wellknown=require('nodemailer-wellknown');
var transporter=nodemailer.createTransport(“SMTP”{
服务:“雅虎”,
认证:{
用户:“,,@yahoo.com”,
通过:“,,,,”
}
});
发送邮件({
发件人:发件人地址:,
收件人:收件人:,
答覆:,
主题:“主题”,
短信:“短信”
}, 
函数(错误,响应){}
);
运行时,我收到以下错误:

错误:配置不受支持,请将NodeEmailr降级到v0.7.1以使用它


我想学习使用最新版本,那么我必须更改什么?

删除第一个变量:

nodeEmailer.createTransport(“SMTP”{

通过检查
节点mailer
第273行的源代码

您可以看到第一个变量不能是字符串

当我有错误时,我会在模块的源代码中搜索错误,然后我可以看到是什么触发了它

在您的案例中,您可以看到一些人已经在问题中报告了它:


您当前的代码适用于旧版本的Nodemailer,与较新版本不兼容。给定的代码在最新版本中应该可以正常工作:

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”字符串

我已经为Yahoo修改了示例。您也可以像当前一样使用,在这种情况下,将
smtpConfig
替换为:

var smtpConfig = {
    service: 'yahoo',
    auth: {
        user: '...',
        pass: '...'
    }
};
var smtpConfig = {
    service: 'yahoo',
    auth: {
        user: '...',
        pass: '...'
    }
};