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

使用MailApp.sendEmail发送邮件被拒:自用正常他人账号异常求助

解决Google Sheets脚本MailApp.sendEmail跨账号发送失败的问题

碰到这种自己账号能用、朋友账号发邮件报错的情况,我之前帮人排查过好几次,咱们一步步来拆解问题:

  • 先查账号安全验证与授权流程
    如果朋友的账号开了两步验证,直接调用MailApp.sendEmail()很可能因为权限不足被拦截。另外,第一次运行脚本时Google会要求授权,如果朋友当时跳过了或者授权不完整,也会出问题:

    1. 让朋友重新运行脚本,按照弹窗提示完成授权,确保授予了「发送邮件」的权限
    2. 要是开了两步验证,重点还是确认授权流程走全了——MailApp是Google官方服务,正常授权后不需要手动填写应用专用密码,别在这步走弯路。
  • 排查账号的发信限制
    新注册或者长期闲置的Google账号,发信额度和反垃圾限制会更严:

    • 先让朋友手动登录Gmail,给同一个收件人发一封测试邮件,如果手动也发失败,那就是账号本身的问题,得完成身份验证(比如绑定手机号、完善个人信息)解除限制
    • 如果手动发成功,那大概率是脚本发送的内容踩了垃圾邮件红线——比如有过多外链、敏感关键词,或者没设置合理的发件人名称、主题,调整下邮件内容试试。
  • 检查脚本的授权范围
    有时候脚本的OAuth权限范围不够也会坑人。让朋友打开脚本编辑器的「设置」,勾选「显示appsscript.json」,打开这个文件后,确保里面的oauthScopes数组包含https://www.googleapis.com/auth/script.send_mail。要是没有,加进去后重新运行授权。

  • 换用GmailApp试试
    MailApp虽然简洁,但GmailApp更贴近原生Gmail的发送逻辑,有时候能绕过一些奇怪的限制。把脚本里的MailApp.sendEmail()改成GmailApp.sendEmail(),重新授权运行,说不定就搞定了。

对了,那个报错里提到的常见原因还有收件方拉黑,但既然你的账号能发,这个可能性很低,优先排查发送方账号的问题就好。

内容的提问来源于stack exchange,提问作者Marek Domański

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:39:02