求助:MailApp.sendEmail调用被Google投递服务拦截问题
先把你收到的错误信息整理出来,方便对应排查:
Message rejected. See https://support.google.com/mail/answer/69585 for more information.
Final-Recipient: rfc822; ******@gmail.com
Action: failed
Status: 5.0.0
Diagnostic Code: smtp; Message rejected. See https://support.google.com/mail/answer/69585 for more information.
Last-Attempt-Date: ......
我之前帮朋友排查过类似问题,结合Google的投递规则,给你整理几个靠谱的解决方向:
检查邮件内容是否触发垃圾邮件阈值
避免用过度营销化的话术(比如“限时特惠”“立即点击领取”这类强诱导文字)、过多大写字母、可疑短链接或非常规附件。尽量用平实的语气,附件优先选择PDF、普通文档这类安全格式。完善发件人身份验证配置
如果用的是Google Workspace账号发送,一定要在域名管理后台配置SPF、DKIM和DMARC记录——这三个是提升发件信誉的核心,能大幅降低被拦截的概率。控制发送频率和批量规模
Google对免费账号的MailApp发送配额卡得很严,短时间内发大量邮件会被判定为滥用。建议拆分发送批次,比如每次发15-20封,间隔1-2小时再发下一批;Workspace账号也要遵守官方给出的每日发送上限。验证收件人地址有效性
先确认收件人邮箱没有拼写错误,也没有被Google封禁或标记为无效地址——无效收件人过多也会牵连发件账号的信誉。排查账号是否有异常限制
登录你的Google账号,去安全中心看看有没有异常登录记录或发送限制通知。如果账号有异地登录这类可疑操作,Google会临时限制邮件发送权限,需要手动解除。
另外,如果你是在Google Apps Script里调用的接口,可以试试换成GmailApp.sendEmail,两者的投递逻辑略有不同,有时候能绕过拦截(注意:两个接口的发送配额是共享的,还是要遵守频率限制)。
内容的提问来源于stack exchange,提问作者Adam Wechter

