使用nodemailer发送电子邮件时,收到“ Gmail无法验证mydomain.com确实发送了此消息(而非垃圾邮件发送者)”消息

时间:2020-10-13 15:30:27

标签: node.js gmail nodemailer

我正在尝试使用nodemailer使用

发送电子邮件
  let transporter = nodemailer.createTransport({
    host: 'mail.hover.com',
    port: 465,
    secure: true, // true for 465, false for other ports
    auth: {
      user: 'myemail@mydomain.com', 
      pass: 'password', 
    },
  });

  // send mail with defined transport object
  let info = await transporter.sendMail({
    from: {
      name: 'My name',
      address: 'myemail@mydomain.com',
    }, // sender address
    replyTo: 'myemail@mydomain.com',
    to: 'recipient@gmail.com', // list of receivers
    subject: 'Hello ✔', // Subject line
    text: 'Hello world?', // plain text body
    html: '<b>Hello world?</b>', // html body
  });

这将按预期的方式发送电子邮件,但Gmail发出警告:“ Gmail无法验证mydomain.com确实发送了此消息(而非垃圾邮件发送者)”。我想知道是否有一种方法可以使Gmail知道myemail@mydomain.com实际上已经发送了电子邮件。

谢谢!

1 个答案:

答案 0 :(得分:1)

找到了解决办法。我基本上允许从我的自定义电子邮件发送电子邮件。我遵循了此处的指南:https://support.google.com/mail/answer/22370?hl=en

  1. 打开 Gmail。

  2. 在右上角,点击设置设置,然后点击查看所有设置。

  3. 点击帐户和导入或帐户标签。

  4. 在“用这个地址发送邮件”部分,点击添加另一个电子邮件地址。

  5. 输入您的姓名和要发送的地址(我的自定义电子邮件)。

  6. 点击下一步,然后发送验证。

  7. 对于 SMTP 服务器,我放置了 mail.hover.com(因为这是我使用的)

  8. 登录我的自定义域并点击验证链接

  9. 使用 NodeMailer 发送电子邮件

    let transporter = nodemailer.createTransport({
        host: 'smtp.gmail.com',
        port: 465,
        secure: true,
        auth: {
          user: 'mygmailuser@gmail.com', 
          pass: 'password', 
        },
      });
    let info = await transporter.sendMail({
        from: {
          name: 'My name',
          address: 'myemail@mydomain.com',
        },
        to: 'recipient@gmail.com', 
        subject: 'Hello ✔', 
        text: 'Hello world?', 
        html: '<b>Hello world?</b>',
      });