Gsuite账户下MailApp发件触发投递失败,Gmail账户正常
我之前也碰到过类似的棘手情况——普通Gmail用脚本发邮件完全正常,换到Google Workspace(原G Suite)就莫名其妙被退信。结合你的描述,给你几个针对性的排查和解决方向:
优先排查Workspace管理员权限限制
Google Workspace的管理员权限比普通Gmail严格得多,大概率是管理员在后台做了限制。你可以联系管理员登录Admin Console,检查这两处设置:- 「应用和API控制」里的API权限,确保Google Apps Script的MailApp服务没有被禁用或限制
- 「Gmail高级设置」中的邮件路由、过滤规则,有没有把脚本自动发送的邮件误判拦截
替换MailApp为GmailApp试试
MailApp和GmailApp虽然都能发邮件,但在Workspace环境下的权限逻辑有差异。GmailApp会复用你手动发邮件的账户逻辑,更不容易触发拦截。修改你的脚本如下://recipientmail is defined elsewhere //newPDFReportId is defined elsewhere if (recipientmail !== null) { GmailApp.sendEmail( recipientmail, "EMAIL OBJECT", "Hi !\r\rThis is an example of an automated mail.\r\r\rDon't hesitate to get in touch.\rThis is the alpha version of the email sender.", {attachments: [DriveApp.getFileById(newPDFReportId).getAs(MimeType.PDF)]} ) }这里额外加了
.getAs(MimeType.PDF),明确指定附件格式,避免Drive文件可能的格式识别歧义。立刻关掉「允许不安全应用访问」选项
这个选项是给第三方非Google应用用的,Google Apps Script属于官方信任应用,开这个选项不仅没用,还会增加账户安全风险,建议直接关闭。检查域名邮件签名验证(DKIM/SPF)
脚本发送的邮件可能没有正确使用Workspace账户的DKIM/SPF签名,导致收件方服务器判定为可疑邮件。让管理员检查Workspace的域名验证设置,确保DKIM已启用、SPF记录配置正确。查看详细退信日志
让管理员在Admin Console的「邮件日志搜索」里查找退信的具体原因——这里的日志会比你收到的通用提示详细得多,能直接定位是权限问题、签名问题还是过滤规则问题。
你提到手动发送相同内容完全正常,说明内容本身没问题,问题肯定出在脚本发送的权限或逻辑和手动发送的差异上,按上面的方向排查应该能解决。
内容的提问来源于stack exchange,提问作者Alexandre

