0

0

GoogleAppsScript怎么自动发邮件_Google脚本定时邮件发送教程

蓮花仙者

蓮花仙者

发布时间:2026-03-10 11:07:41

|

685人浏览过

|

来源于php中文网

原创

googleappsscript怎么自动发邮件_google脚本定时邮件发送教程

如果您希望在特定时间点或按固定周期向指定收件人发送电子邮件,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";

MartCnEnterPrise企业版
MartCnEnterPrise企业版

除了有一半电子商务的全部基本功能外,还增加了“模版自由更换”“程序在线自动更新升级”“分布式搜索”等特色功能 主要功能: ·网站的基本信息设置,部分数据以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封限制)

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

846

2023.08.22

length函数用法
length函数用法

length函数用于返回指定字符串的字符数或字节数。可以用于计算字符串的长度,以便在查询和处理字符串数据时进行操作和判断。 需要注意的是length函数计算的是字符串的字符数,而不是字节数。对于多字节字符集,一个字符可能由多个字节组成。因此,length函数在计算字符串长度时会将多字节字符作为一个字符来计算。更多关于length函数的用法,大家可以阅读本专题下面的文章。

953

2023.09.19

console接口是干嘛的
console接口是干嘛的

console接口是一种用于在计算机命令行或浏览器开发工具中输出信息的工具,提供了一种简单的方式来记录和查看应用程序的输出结果和调试信息。本专题为大家提供console接口相关的各种文章、以及下载和课程。

420

2023.08.08

console.log是什么
console.log是什么

console.log 是 javascript 函数,用于在浏览器控制台中输出信息,便于调试和故障排除。想了解更多console.log的相关内容,可以阅读本专题下面的文章。

541

2024.05.29

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

498

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

166

2023.10.07

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

235

2023.12.07

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

8

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

62

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 6万人学习

Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号