Nodemailer只能使用一个电子邮件地址



第一次尝试让nodemailer工作,它确实工作了,但前提是发送电子邮件地址是我的电子邮件地址。。。我现在有这个代码:

app.post('/', function (req, res) {
const transporter = nodemailer.createTransport({
service: 'Hotmail',
auth: {
user: 'myemail@hotmail.co.uk',
pass: 'XXXX'
}
});
const mailOptions = {
from: req.body.address, // sender address
to: 'myemail@hotmail.co.uk', // list of receivers
subject: req.body.address,
html: req.body.message // html body
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log(req.body);
console.log('Message %s sent: %s', info.messageId, info.response);
res.render('index');
});

如果我在表格中输入一个随机的电子邮件地址并发送,我会收到一个错误:消息失败。不确定我是否遗漏了一些明显的东西,但目前发件人地址必须与收件人匹配(或者可能是我的auth.user电子邮件(才能工作。

以前有人对此有意见吗?感谢

所以我想我已经解决了这个问题。它似乎不允许未经授权的人发送电子邮件,所以我将发件人和收件人设置为我的电子邮件地址,并使用电子邮件正文中表单中的用户电子邮件地址。

const mailOptions = {
from: 'myemail@hotmail.co.uk', // sender address
to: 'myemail@hotmail.co.uk', // list of receivers
subject: req.body.address,
text: `${req.body.address} - ${req.body.message}` // html body
};

相关内容

最新更新