带有Gmail"发件人:地址"不会改变

时间:2017-06-26 13:54:51

标签: node.js firebase google-cloud-functions nodemailer

我正在尝试向我的邮件列表中的任何新订阅者发送电子邮件。一切都很好,但"发件人"电子邮件地址不会更改为" noreplay。它保留为我通过身份验证的电子邮件,在本例中是我的工作邮件。例如,如果我设置"来自"到" noreply@example.com"它从" jaafar@example.com"发送邮件。这是我的代码:

if (snapshot.child("subscribed").val() === 'true') {
  var value = snapshot.child("email").val(); //ignore this
  var key = snapshot.key;  //ignore this

  var mailHtml = val.htmlText1 + httpLink + key + val.htmlText2; //ignore this
  let mailOptions = {
   from: '"JaafarsCompany" <noreply@jaafarsCompany.io>', // sender address
   to: value, // list of receivers
   subject: 'Hello', // Subject line
   text: 'Hello world', // plain text body
   html: mailHtml //ignore this
  };

  // send mail with defined transport object
  mailTransport.sendMail(mailOptions, (error, info) => {
   if (error) {
     return console.log(error);
   }
  console.log('Mail sent to: ' + value + '. ' + 'Message %s sent: %s', info.messageId, info.response);
});

我只是基于文档中的示例。收到的电子邮件就好像来自&#34; JaafarsCompany&#34;,但如果您点击发件人姓名,它会显示我的工作邮件。

希望这是有道理的。我正在寻找可以指向正确方向的任何事情。我觉得我多年来一直在谷歌搜索这个问题:(

1 个答案:

答案 0 :(得分:2)

我弄清楚问题是什么。基本上,医生说:

  

Gmail还始终将经过身份验证的用户名设置为发件人:电子邮件   地址。因此,如果您通过foo@example.com进行身份验证并进行设置   bar@example.com作为发件人:地址,然后Gmail还原此地址   用经过身份验证的用户替换发件人。

要解决此问题,需要在管理控制台中添加一个组。之后转到this链接,然后按照说明操作。

我从Firebase支持者处获得了帮助来解决此问题。希望有一天能帮到某人: - )