我一直在寻找答案,但我还没有发现我的错误。 所以也许你可以帮助我解决我在尝试通过 nodemailer 从未知邮件发送邮件到我的个人邮件时遇到的这个错误(对于我网站上的联系表):
api/mail.js
import nodemailer from 'nodemailer';
import {valueMissing} from "../../utils/functions";
export default function sendMail (req,res){
if (valueMissing(req.body.name) || valueMissing(req.body.subject) ||
valueMissing(req.body.message) || valueMissing(req.body.mail))
return res.status(202).json({ success: false });
else {
const transporter = nodemailer.createTransport({
port: 465,
host: 'smtp.xxx.xxx',
auth: {
user: process.env.MAIL_USER,
pass: process.env.MAIL_PW
},
});
const message = {
from: {
name: req.body.name,
address: req.body.mail
},
to: process.env.MAIL_USER,
subject: req.body.subject,
text: req.body.message
};
transporter.sendMail(message,error => {
if(error) {
console.log(error);
return res.status(202).json({
success: false
});
} else return res.status(200).json({
success: true
});
})
}
}
我以前使用过 nodemailer,但那时我是从我的邮箱向另一个人发送邮件,而不是相反。在我的研究中,我发现了这个教程 - Creating A Contact Form With JavaScript / Nodemailer .我在做什么不同?似乎它应该以任何一种方式工作......
提前致谢:)
最佳答案
好的,我找到了解决方案,适用于遇到相同问题的任何人:事实上,Nodemailer 无法从其他人的电子邮件发送邮件。所以我将消息选项更改为以下内容:
const message = {
from: {
name: req.body.name,
address: process.env.MAIL_USER,
},
to: process.env.MAIL_USER,
subject: req.body.subject,
text: req.body.message,
replyTo: req.body.mail
}
基本上我将邮件从我的邮件发送到同一邮件。为了保留此人的邮件以供回复,我添加了 replyTo 选项。现在它就像一个魅力!
关于node.js - Nodemailer 错误 : Recipient command failed: 553 5. 7.1:发件人地址被拒绝:不属于用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69221631/