Nodemailer 错误:收件人命令失败:553 5.7.1:发件人地址被拒绝:不属于用户

Bex*_*Lyn 2 email smtp node.js nodemailer

我一直在寻找答案,但还没有发现我的错误。所以也许你可以帮助我解决这个错误,当我尝试通过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
                });
        })
    }
}
Run Code Online (Sandbox Code Playgroud)

我以前曾使用过nodemailer,但当时我是从我的邮箱向另一个人发送邮件,而不是相反。在我的研究中,我发现了这个教程 -使用 JavaScript / Nodemailer 创建联系表单。我在做什么不同的事情?似乎它应该以任何方式工作......

提前致谢 :)

Bex*_*Lyn 7

好吧,对于任何有同样问题的人来说,我找到了解决方案:事实上,Nodemailer 无法从另一个人\xc2\xb4s 电子邮件发送邮件。所以我将消息选项更改为以下内容:

\n
const message = {\n  from: {\n    name: req.body.name,\n    address: process.env.MAIL_USER,\n  },\n  to: process.env.MAIL_USER,\n  subject: req.body.subject,\n  text: req.body.message,\n  replyTo: req.body.mail\n}\n
Run Code Online (Sandbox Code Playgroud)\n

基本上我将邮件从我的邮箱发送到同一个邮箱。为了保留 person\xc2\xb4s 邮件的回复,我添加了replyTo 选项。现在它就像一个魅力!

\n