我已经安装了后缀的默认参数作为互联网站点,nodemailer包到我的node.js服务器。并尝试这样做:
var transporter = nodemailer.createTransport({
host: '127.0.0.1',
port: 25,
// auth: {
// user: user,
// pass: pass
// },
secure: false,
tls:{
rejectUnauthorized: false
}
});我不知道什么是用户名和密码,我没有设置。
transporter.sendMail({
from: '"Mysite.com" <robot@mysite.com>', // sender address
to: user.email, // list of receivers
subject: "Your password for mysite.com", // Subject line
html: html // html body
}, (err) => {console.log('mail send error', err)});在tail -f /var/log/mail.log中,我看到了以下内容
Jan 30 01:00:04 80523 postfix/smtpd[26772]: connect from localhost[127.0.0.1]
Jan 30 01:00:04 80523 postfix/smtpd[26772]: lost connection after EHLO from localhost[127.0.0.1]
Jan 30 01:00:04 80523 postfix/smtpd[26772]: disconnect from localhost[127.0.0.1] ehlo=2 starttls=1 commands=3邮件也不会被发送。但是如果我使用echo "First message" | mutt -s "msg" mymail@mail.ru命令,发送的邮件加上我收到的邮件。一些想法为什么?
发布于 2021-05-19 03:38:24
如果您遵循了类似的postfix设置,如下所示:
https://medium.com/codingtown/send-mail-using-postfix-server-bbb08331d39d
然后,您应该能够运行以下代码
const nodemailer = require('nodemailer');
let transporter = nodemailer.createTransport({
service: 'postfix',
host: 'localhost',
secure: false,
port: 25,
auth: { user: 'yourlinuxusername@edison.example.com', pass: 'yourlinuxuserpassword' },
tls: { rejectUnauthorized: false }
});
let mailOptions = {
from: 'yourlinuxusername@edison.example.com',
to: 'xxxyyyzzz111@gmail.com',
subject: 'nodemailer test',
text: 'hope it got there'
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log(error);
} else {
console.log(info);
}
});https://stackoverflow.com/questions/54431903
复制相似问题