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

如何使用Apps Script创建每周5天自动发送的Gmail定时重复邮件

Gmail定时发信脚本修复方案

已知错误点

  • 触发器绑定的函数名不匹配:发信函数定义为sendEmails,但创建触发器时传入的是带空格的send emails,触发时无法找到对应执行函数
  • 语法不规范:代码开头的Function首字母大写不符合JavaScript语法要求,需改为小写function
  • 旧触发器冲突:未清理之前创建的每日触发等旧触发器,可能导致执行逻辑冲突

修正后完整代码

function sendEmails() {
  var emailAddress = 'email@email.com';
  var subject = 'Reminder: reminder';
  var message = 'Content of message';
  MailApp.sendEmail(emailAddress, subject, message, {
    htmlBody: message,
  });
}

function createTriggers() {
  // 先清理所有现有触发器,避免重复冲突
  var existingTriggers = ScriptApp.getProjectTriggers();
  for(var i = 0; i < existingTriggers.length; i++) {
    ScriptApp.deleteTrigger(existingTriggers[i]);
  }

  // 配置需要触发的星期:周日至周四
  var days = [ScriptApp.WeekDay.MONDAY, ScriptApp.WeekDay.TUESDAY,
              ScriptApp.WeekDay.WEDNESDAY, ScriptApp.WeekDay.THURSDAY,                                            
              ScriptApp.WeekDay.SUNDAY];
  for (var i=0; i<days.length; i++) {
    // 修正绑定的函数名
    ScriptApp.newTrigger("sendEmails")
             .timeBased().onWeekDay(days[i])
             .atHour(17).create();
  }
}

操作步骤

  • 将原有代码替换为上述修正后的代码
  • 手动运行一次sendEmails函数,验证发信功能正常,确认接收邮箱能收到测试邮件
  • 运行createTriggers函数,首次运行时按照提示完成Google账号的授权操作
  • 可以在Apps Script左侧「触发器」菜单中查看生成的5个对应时间的定时触发器,确认配置正确

内容的提问来源于stack exchange,提问作者Matthew G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:15:07