You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

含链接邮件被Outlook归入垃圾文件夹问题求助

解决Nest.js+Nodemailer发邮件至Outlook被归为垃圾箱的问题

1. 修复SMTP配置不匹配问题

你当前用Office 365的SMTP服务器发送Gmail账号的邮件,属于跨平台认证,会直接导致SPF/DKIM验证失败,这是邮件被判定为垃圾的核心原因之一。应该改用Gmail官方的SMTP配置:

修改Mailer.module.ts中的transport配置:

transport: {
  host: 'smtp.gmail.com',
  port: 587,
  requireTLS: true,
  secure: false,
  auth: {
    user: '你的Gmail账号@gmail.com',
    pass: '你的Gmail App密码', // 注意:需开启两步验证后生成App密码,不能用普通登录密码
  },
}

提示:Gmail默认关闭低安全性应用访问,必须开启两步验证,然后在Google账号设置中生成App密码用于SMTP认证。

2. 修复Handlebars模板的链接格式

当前模板中链接的href属性未加引号,生成的HTML不符合标准格式,会被Outlook的过滤器标记为可疑内容。修改greetings.hbs:

<h2>Dear User</h2>
<p>Click <a href="{{someUrl}}">here to visit the page</a></p>

同时建议把通用的“Click here”改成更具体的描述(比如“Click here to view your test link”),减少钓鱼邮件的嫌疑。

3. 配置邮件认证(SPF/DKIM/DMARC)

这三个是提升邮件可信度的关键,需要在你的域名DNS管理后台添加对应记录:

  • SPF:添加TXT记录,内容包含include:_spf.google.com(如果用Gmail发件),示例:v=spf1 include:_spf.google.com ~all
  • DKIM:在Gmail后台开启DKIM验证,生成对应的TXT记录并添加到域名DNS
  • DMARC:添加TXT记录,示例:v=DMARC1; p=quarantine; sp=quarantine; rua=mailto:dmarc@yourdomain.com,用于指定验证失败后的处理规则

4. 添加邮件文本版本

Outlook更信任同时包含HTML和纯文本版本的邮件,在发送时补充纯文本内容:
修改Mailer.service.ts中的发送逻辑:

return this.mailService.sendEmail({
  to: '<some-outlook-mail-id>',
  from: '*******@gmail.com',
  subject: 'Test mail',
  someUrl: 'https://google.co.in',
  template: 'greetings',
  text: `Dear User, Click the link to visit: ${someUrl}`, // 纯文本版本
});

5. 请求收件人添加白名单

让Outlook用户将你的发件人邮箱添加到联系人列表或邮件白名单,这是最直接的临时解决方案,能确保后续邮件正常进入收件箱。


内容的提问来源于stack exchange,提问作者Code The World

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 06:15:29