
如果您希望在特定时间点或按固定周期向指定收件人发送电子邮件,Google Apps Script 提供了基于时间驱动的触发器机制来实现自动发邮件。以下是实现定时邮件发送的具体操作路径:
一、编写基础邮件发送函数
该步骤定义核心逻辑:构造邮件内容并调用 MailApp.sendEmail() 发送。函数需明确收件人、主题与正文,支持纯文本或 HTML 格式。
1、打开 Google Sheets 或 Google Docs,点击“扩展程序”→“Apps Script”,进入脚本编辑器。
2、在代码编辑区删除默认内容,粘贴以下函数:
function sendScheduledEmail() {
MailApp.sendEmail({
to: "recipient@example.com",
subject: "定时发送的测试邮件",
body: "这是一封由 Google Apps Script 在预设时间自动发出的邮件。"
});
}
3、将 "recipient@example.com" 替换为实际接收邮箱地址,保存脚本(如命名为“定时邮件”)。
二、创建时间驱动触发器
触发器是使脚本脱离手动执行、按时间规则自动运行的关键组件。Google Apps Script 支持分钟级、小时级、每日、每周等多种时间粒度。
1、在脚本编辑器中,点击左侧边栏的“触发器”图标(时钟形状),或通过顶部菜单“编辑”→“当前项目的触发器”打开。
2、点击“+ 添加触发器”按钮。
3、在配置面板中依次选择:
- 运行:select sendScheduledEmail
- 事件源:select 时间驱动
- 选择时间间隔:例如 每天凌晨2点 或 每5分钟(根据实际需求勾选)。
4、点击“保存”。系统将提示授权,确认允许脚本访问 Gmail 权限。
三、使用 PropertiesService 持久化配置参数
避免硬编码敏感信息或动态参数,可利用 PropertiesService 存储收件人列表、邮件模板路径等,提升脚本可维护性与安全性。
1、在 sendScheduledEmail 函数开头添加读取逻辑:
var props = PropertiesService.getUserProperties();
var recipient = props.getProperty("EMAIL_RECIPIENT") || "default@example.com";
除了有一半电子商务的全部基本功能外,还增加了“模版自由更换”“程序在线自动更新升级”“分布式搜索”等特色功能 主要功能: ·网站的基本信息设置,部分数据以XML方式同服务器发生交互。 ·可自行关闭和开启网站,方便维护,可自定维护时显示的代码。 ·可自定义站点的关键字和描述,方便搜索引擎找到您的网站。 ·可自定义商品图片、新闻图片的上传目录和预览图片的大小。 ·提供自己设置网站的邮件发送服务器SM
2、在脚本中另建一个初始化函数用于写入:
function setRecipient() {
PropertiesService.getUserProperties()
.setProperty("EMAIL_RECIPIENT", "your@real.email");
}
3、运行 setRecipient 函数一次完成设置,后续定时任务将自动读取该值。
四、结合 GmailApp 实现带附件的定时转发
当需定时检查新邮件并转发含附件的内容时,GmailApp 提供搜索与操作能力,适用于监控类场景。
1、修改 sendScheduledEmail 函数为:
function sendScheduledEmail() {
var threads = GmailApp.search('is:inbox after:2026/03/02');
for (var i = 0; i var messages = threads[i].getMessages();
if (messages.length > 0) {
var lastMsg = messages[messages.length - 1];
lastMsg.forward("target@notify.com", {
subject: "[自动转发] " + lastMsg.getSubject(),
attachments: lastMsg.getAttachments()
});
threads[i].markRead();
}
}
}
2、确保触发器仍指向该函数,并已授权 Gmail 权限。
五、调试与日志验证定时执行状态
脚本是否真正按预期时间运行,需依赖 Execution Log 和 Stackdriver 日志进行确认,避免静默失败。
1、在 sendScheduledEmail 函数首行插入日志语句:
console.log("定时邮件任务启动于:" + new Date().toString());
2、执行一次手动运行,进入“执行”标签页查看输出。
3、等待首次定时触发后,再次打开“执行”页面,筛选时间范围,确认有对应时间戳的绿色成功记录。
4、若出现红色错误条目,点击查看详情,常见原因包括:权限未授予、收件人格式非法、配额超限(每日100封限制)。









