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

使用Google App Scripts的HTML表单邮件通知功能失效求助

排查MailApp.sendEmail无法工作的具体步骤
  • 确认授权权限

    • 手动运行一次doPost函数(或先执行initialSetup,再模拟参数调用doPost),触发完整的授权流程。Web App部署时的权限可能未完全生效,手动触发授权能确保脚本获得发送邮件的权限。
    • 检查Web App部署权限:若选择“任何人,甚至匿名”,MailApp可能因权限限制无法发送。先切换为“仅限我自己”测试,确认邮件能正常发送后再调整权限范围。
  • 检查邮箱与内容格式

    • 确认替换的myemail@gmail.com无拼写错误,格式完全合规。
    • 简化邮件内容:将emailSubject和emailBody改为纯文本(如"新表单提交通知"、"有新数据已提交至Sheet"),排除特殊字符或格式导致的发送失败。
  • 添加错误日志定位问题

    • 在catch块中加入日志记录,便于查看具体错误原因:
      catch (e) {
        Logger.log('错误详情:' + e.toString());
        return ContentService
          .createTextOutput(JSON.stringify({ 'result': 'error', 'error': e.toString() }))
          .setMimeType(ContentService.MimeType.JSON)
      }
      
    • 查看App Script日志:点击编辑器顶部“查看”→“日志”,获取具体错误信息(如权限不足、邮箱拦截等)。
  • 验证Web App部署版本

    • 修改代码后必须重新部署Web App并选择“新版本”,否则旧代码仍在运行。确认部署的版本包含你修改邮箱后的最新代码。
  • 独立测试邮件发送功能

    • 编写单独的测试函数,排除其他代码干扰:
      function testEmail() {
        MailApp.sendEmail('myemail@gmail.com', '测试邮件', '这是一封来自App Script的测试邮件');
      }
      
    • 运行该函数,若能收到邮件,说明MailApp本身正常,问题出在doPost逻辑或Web App权限;若仍收不到,检查Google账号设置(如是否开启两步验证、邮箱是否拦截脚本邮件)。

内容的提问来源于stack exchange,提问作者Jordan h

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 19:38:15