Nodemailer google 工作区在 Dev 中工作,但在生产中,电子邮件进入垃圾邮件

问题描述

我有一个项目可以向我部署在 heroku 上的人发送电子邮件。问题是它在开发中工作正常,但是当它被部署时,电子邮件直接进入垃圾邮件。这是什么原因造成的?你需要我的代码中的更多信息来帮助我吗?

 const oauth2client = new OAuth2(
    MAILING_SERVICE_CLIENT_ID,MAILING_SERVICE_CLIENT_SECRET,OAUTH_PLAYGROUND
  );
  oauth2client.setCredentials({
    refresh_token: MAILING_SERVICE_REFRESH_TOKEN,});
  try{

    const  accesstoken = await oauth2client.getAccesstoken();
    
    const transporter = nodemailer.createTransport({
      service: "gmail",auth: {
        type: "OAuth2",user: SENDER_EMAIL_ADDRESS,clientId: MAILING_SERVICE_CLIENT_ID,clientSecret: MAILING_SERVICE_CLIENT_SECRET,refreshToken: MAILING_SERVICE_REFRESH_TOKEN,accesstoken,},});
    await transporter.verify();
    await transporter.sendMail({ from,to,subject,html });
     

///


await sendEmail({
    to: SENDER_EMAIL_ADDRESS,subject: subject,html: content
});
await sendEmail({
    to: email,html: `Dear ${firstName},<p> Thank you for getting in touch

    </p>
    <p>Best Regards,</p>
    `

解决方法

如果您收到类似“此电子邮件未通过其域的身份验证要求。它可能被欺骗或不正确转发!”的消息。

不,你无能为力。你可能已经用假电子邮件给自己发送电子邮件,例如 “test@yahoo.com”,请尝试使用您的真实邮箱。

,

在我的情况下会发生这种情况的原因有多种,我的电子邮件 api 的 DKIM 设置不正确,还有其他事情您可以通过使用 www.mail-tester.com 来找出它不起作用的原因查看您的电子邮件的评级及其原因。