这个错误的根本原因是组织级别或用户配置文件禁止发送单封邮件,最直接的解决方案是将“电子邮件可送达性”的访问级别改为“所有邮件”。
根据你的描述——脚本在你自己的账号下运行成功,但在API用户下失败——说明组织级权限是开启的,问题集中在API用户的配置或沙盒环境上。以下是按优先级排序的排查与解决步骤:
✅ 1. 检查并修改“电子邮件可送达性”(核心步骤)
这是新刷新沙盒最常见的原因。Salesforce在Spring '13版本后,新刷新或创建的沙盒默认将可送达性设为“仅系统邮件”,这会直接阻止SingleEmailMessage的发送。
操作路径:
-
点击右上角⚙️ 设置(Setup)
-
在快速查找框中输入 “可送达性” 或 “Deliverability”
-
进入 “电子邮件可送达性” 页面
-
将 “访问级别” 从“仅系统邮件”改为 “所有邮件”
-
点击保存
如果你是在生产环境遇到此错误,则该选项通常已经是“所有邮件”,请直接跳到第2步检查用户权限。
✅ 2. 检查API用户的配置文件权限
你说该API用户的配置文件中“群发邮件”和“发送邮件”已勾选,但仅勾选这两项是不够的。
请额外检查并确保:
-
不需要额外勾选“单封邮件权限”——Salesforce没有独立的“单封邮件”权限开关,它是通过“群发邮件”权限+组织级可送达性共同控制的。
-
需要确认:该API用户的配置文件是否在 “管理权限” 中确实勾选了 “发送电子邮件” 和 “群发电子邮件”(你已经确认,但请二次核对)。
-
如果权限齐全,可尝试将API用户的配置文件临时改为“系统管理员”进行测试——如果能发送,说明原配置文件仍有隐藏权限缺失,建议克隆管理员配置文件后重新赋值给该API用户。

被折叠的 条评论
为什么被折叠?



