nodemailer 不发送和返回错误

nodemailer not sending and returning error

我正在尝试使用 nodemailer 设置一个简单的联系表单。我想要做的就是从联系表向我的电子邮箱发送一封电子邮件。我的邮箱是 "myemail@mac.com"

当我执行 axios post 时,我在数据对象中收到一条错误消息:550 5.7.0 发件人地址不是您的地址之一。但是 status:200 和 statusText:"OK"

当我使用与 icloud 电子邮件相同的电子邮件时 "myemail@mac.com" 那么它有效吗?我没有看到任何地方说您必须使用与服务地址相同的发件人地址吗?

Axios post:

  const request = axios.post('http://localhost:3002/send', {'name':John Doe,'email':meme@gmail.com'});
  request.then((result)=>{
      console.log("request = ", result);
  }); 

来自 console.log 的错误消息("request = ",结果);

error:{
 code:"EMESSAGE",
 command:"DATA",
 response:"550 5.7.0 From address is not one of your addresses.",
 responseCode:550
}

nodemailer 是我的 node.js

const transporter = nodemailer.createTransport({
  service: "iCloud",
  auth: {
    user: "myemail@mac.com",
    pass: "myemailpassword"
  }
})

    app.use('/send', function(req, res){
      var message = {
        from: req.body.email,
        to: 'myemail@mac.com',
        subject: 'Message From Portfolio Contact Form',
        //text: 'Plaintext version of the message',
        html: '<p>'+req.body.description+'</p>'
      };
      transporter.sendMail(message, function(error, info){
        if(error){
          res.json({error: error});
        }else{
          res.json({success: info.response});
        };
      });
    })

您使用 iCloud 服务配置了 nodemailer 传输,并且您正在尝试使用 gmail 地址发送邮件。

from: req.body.email, // meme@gmail.com
to: 'myemail@mac.com'

这在逻辑上会产生错误:

response:"550 5.7.0 From address is not one of your addresses."

你可能想做相反的事情。