javascript - 不支持的配置,将 Nodemailer 降级到 v0.7.1

标签 javascript node.js npm nodemailer

我在 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/

相关文章:

Javascript 创建循环变量

javascript - 箭头函数参数

javascript - Array.map() 和 D3 选择?

javascript - 预编译模板中的 Hogan.js 部分

javascript - 选项卡上的 Keyup 事件行为

node.js - 用 Jest 模拟 fs 函数

node.js - 如何使用 sails.js/waterline 进行交易?

node.js - 找不到模块 'C:\server.js'

node.js - 为什么我的 Node.js 包在全局安装时缺少主文件?

node.js - 在 npm 安装期间检测 node-webkit