带sendmail插件的Nodemailer不起作用

时间:2016-01-19 15:17:40

标签: node.js email sendmail nodemailer

正如标题所说,我想在nodejs中发送电子邮件,最后我选择nodemailer发送电子邮件。我使用nodemailer-sendmail-transport发送电子邮件,这是我的代码:

var nodemailer = require('nodemailer');
var sendmailTransport = require('nodemailer-sendmail-transport');

var transporter = nodemailer.createTransport(sendmailTransport())

var mailOptions = {
    from: 'fudy@test.com',
    to: 'fudy@gmail.com',
    subject: 'Hello ',
    text: 'Hello world',
    html: '<b>Hello world </b>'
};

 transporter.sendMail(mailOptions, function(error, info){
    if(error){
        return console.log(error);
    }
    console.log('Message sent: ' + JSON.stringify(info));
    console.log('error: ' + error);
    }
 );

以下是结果:

Message sent: {"envelope":{"from":"fudy@test.com","to":["fudy@gmail.com"]},"messageId":"1453216462751-f02d6225-98d2770f-68897c84@test.com"}
error: null

但是,我还没有收到来自fudy@test.com的任何电子邮件。怎么了?

2 个答案:

答案 0 :(得分:0)

您需要配置传输对象。

var transporter = nodemailer.createTransport(options[, defaults]);

将您的参数传递给您要发送邮件的传输方式类型。可以在您提供的nodemailer github上找到可通过的选项。

答案 1 :(得分:0)

最后,我发现我的mac os中的sendmail程序只发送电子邮件到同一个域。默认情况下,它无法向远程电子邮件地址发送电子邮件但我认为插件应该给出错误信息。