nodemailer发送邮件遇到的一些问题

使用nodemailer发送邮件一直困惑了我好几天,百度谷歌都没有找到的几个问题,方便大家排查。

我使用的是0.7.1版本,其他的版本好像报错,就没用。

错误信息:Mail from command failed - 501 mail from address must be same as authorization user

经检查问题出现在第12行代码,这里必须要填写发件人的邮箱地址,因为我以为第7行已填写过邮箱地址,错以为第12行只要随便写个名称,所以一直报错。

如果需要加上名称用<>把邮箱包住,如:carter<carter@mingbomedia.com>

以下为可运行代码:

 1 var nodemailer = require("nodemailer");
 2 var transport = nodemailer.createTransport('SMTP', {
 3     host: "smtp.tq52.com",
 4     secureConnection: true,
 5     port: 465,
 6     auth: {
 7         user: "lele@tq52.com", // 账号
 8         pass: "********" // 密码
 9     }
10 });
11 var data = {
12     from: 'lele@tq52.com',
13     to: '308012546@qq.com',
14     subject: 'Hello world',
15     text: 'Hello world, I am a test mail!',
16     html: '<b>Hello world, I am a test mail!</b>'
17 };
18 transport.sendMail(data, function(err, res){
19     if (err) {
20         console.log(err);
21     } else {
22         console.log('Message sent: ' + res.message);
23     }
24     transport.close(); // 如果没用,关闭连接池
25 });

如果采用如下service的方式去写,修改service的文件路径在node_modules/nodermailer/lib/wellknown.js。

1 var transport = nodemailer.createTransport('SMTP', {
2     service: 'qq', //use well known service
3     auth: {
4         user: 'hankewins@qq.com',
5         pass: '123456'
6     }
7 });

原文地址:https://www.cnblogs.com/liuyt/p/5478229.html