Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodeEmailer未发送和返回错误_Node.js_Express_Nodemailer_Axios - Fatal编程技术网

Node.js nodeEmailer未发送和返回错误

Node.js nodeEmailer未发送和返回错误,node.js,express,nodemailer,axios,Node.js,Express,Nodemailer,Axios,我正在尝试使用nodemailer设置一个简单的联系人表单。我所要做的就是从联系人表单向我的电子邮件发送一封电子邮件。我的电子邮件是“myemail@mac.com" 当我发布axios帖子时,数据对象中出现了一个错误:550 5.7.0 From address不是您的地址之一。但是状态:200和状态文本:“OK” 当我使用与icloud电子邮件相同的发件人电子邮件时”myemail@mac.com“那它行吗?我看不出有什么地方写着你必须使用与服务地址相同的发件人地址 Axios post:

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

当我发布axios帖子时,数据对象中出现了一个错误:550 5.7.0 From address不是您的地址之一。但是状态:200和状态文本:“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=”,result)

nodeEmailer是我的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});
        };
      });
    })
const transporter=nodeEmailer.createTransport({
服务:“iCloud”,
认证:{
用户:“myemail@mac.com",
密码:“myemailpassword”
}
})
应用程序使用('/send',函数(req,res){
var消息={
发件人:req.body.email,
致:'myemail@mac.com',
主题:“来自投资组合联系人表单的消息”,
//text:'消息的纯文本版本',
html:“”+req.body.description+”

' }; transporter.sendMail(消息、函数(错误、信息){ 如果(错误){ res.json({error:error}); }否则{ res.json({success:info.response}); }; }); })
您使用iCloud服务配置nodemailer传输,并尝试发送带有gmail地址的邮件

from: req.body.email, // meme@gmail.com
to: 'myemail@mac.com'
逻辑上产生错误的:

回答:“550 5.7.0发件人地址不是您的地址之一。”


您可能想做相反的操作。

当您说“发送”时,我想您指的是发件人地址?因此,配置的icloud服务地址必须与消息中的“发件人”属性完全相同?我不确定将配置好的电子邮件更改为gmail会有什么不同,因为它在文档中声明你可以使用icloud服务。感谢您提供的帮助,您可以继续使用iCloud,这不是问题,但发件人地址必须是您使用的smtp服务的经过身份验证的用户。看看这个答案:啊,好的,明白了。我只想将发件人的电子邮件添加到电子邮件正文中。我看到了你的链接,并试图更改发件人地址的名称部分,但这也导致了一个问题“乔·多伊”。如果我可以更改名称,那么在您的机器邮件应用程序中以您自己的名称接收电子邮件时,看起来就不会那么奇怪了。发件人:'Contact Mailbox',但邮件仍然以我的姓名进入我的邮箱,因为我正在使用myemail@mac.comapple mail看到了这一点,因为我甚至认为我已将名称更改为Contact Mailbox。Cn似乎找不到任何解决办法?是的,当我尝试使用gmail帐户时,我也遇到过这种情况。我不是电子邮件专家,但我认为在应用程序中使用专用电子邮件地址进行发送是一种常见做法。
from: req.body.email, // meme@gmail.com
to: 'myemail@mac.com'