我正在尝试让 Nodemailer 工作。在本地一切正常,但不能在线,不能使用我的前端,也不能使用 postman.co。如果我发送请求,源端需要花费很多秒才能放弃并向我显示网关错误。奇怪的是,我发送的电子邮件几乎立即到达,尽管有错误。我正在使用 IONOS 的域邮件。现在缩短代码后,它看起来像这样:
const transporter = nodemailer.createTransport({
host: "smtp.ionos.de",
port: 587,
secure: false,
auth: {
user: "[email protected]",
pass: "XXXXXXXXXXXX",
},
});
general_users.post("/Kontakt", async(req, res, next) => {
var content = req.body;
content = JSON.stringify(content)
await transporter.sendMail({
from: "[email protected]",
to: "[email protected]",
subject: "Kundenanfrage",
text: content, // plain text body
html: `<b>${content}</b>`,
})
});
有什么想法吗?我对此还很陌生。
我在本地尝试过,使用我的 React 前端和 postman.co。我没有使用任何其他邮箱,因为我希望它能够与域邮件和本地请求一起工作。在另一篇文章中,我读到密码有时是一个问题,所以我将我的密码更改为一个更弱的版本,由字母组成,没有其他内容。
我的评论中的解释...
const transporter = nodemailer.createTransport({
host: "smtp.ionos.de",
port: 587,
secure: false, // true for port 465, false for other ports
auth: {
user: "[email protected]",
pass: "xxxxxxxxxxxxxx",
},
});
general_users.post("/Kontakt", async(req, res, next) => {
var content = req.body;
content = JSON.stringify(content)
await transporter.sendMail({
from: "[email protected]", // sender address
to: "[email protected]", // list of receivers
subject: "Kundenanfrage", // Subject line
text: content, // plain text body
html: `<b>${content}</b>`})
.catch((error) => {return res.status(500).json({ error: "message not sent" }).end();})
.then(res.status(200).json({ message: "message sent" }).end())
})