Jannah 主题 许可证未验证,请转到主题选项页面以验证许可证,每个域名都需要一个许可证。

Gmail 自动化:用于 Gmail 自动化的八个有用的 Google 脚本

Gmail 本身已经是一个非常强大的电子邮件客户端。 借助过滤器,您可以设置自动化以更好地组织您的收件箱。 然而,对于高级用户而言,与编写自定义脚本相比,过滤是不够的。 这 XNUMX 个 Google 脚本可以使您的 Gmail 自动化。

自动化 Gmail:800 个有用的 Google 脚本来自动化 Gmail
提示:尝试另一个简单的 Gmail 提示: 在 Gmail 中设置自动转发。

1. X天后自动删除邮件

很多次,在阅读完一封电子邮件后,无论它们多么有用,我们都会将它们保存在收件箱中。 既然谷歌已经限制了空间,你可能想要清理你的收件箱并摆脱那些无用的电子邮件。 下面的脚本可以查看带有标签的邮件 “删除我” 并在数字后删除它 “X” 的日子。

  1. 确保您已登录到您的 Google 帐户,然后转到 谷歌脚本 并创建一个新项目。
    自动化 Gmail:八个有用的 Google 脚本来实现 Gmail 自动化
  2. 粘贴以下脚本并保存。 您可以更改从收件箱中删除电子邮件之前经过的天数(可变延迟)。
function auto_delete_mails() { var label = GmailApp.getUserLabelByName("删除我"); if(label == null) { GmailApp.createLabel('删除我'); } else { var delayDays = 2; // 输入消息被移至垃圾桶前的天数 var maxDate = new Date(); maxDate.setDate(maxDate.getDate()-delayDays); var threads = label.getThreads(); for (var i = 0; i < threads.length; i++) { if (threads[i].getLastMessageDate()

3. 创建一个新触发器以按计划运行脚本。 打开 “左侧菜单中的计划图标 -> 触发器 -> 添加触发器”。
自动化 Gmail:八个有用的 Google 脚本来实现 Gmail 自动化 4. 自定义触发器设置以每小时(或您喜欢的任何频率)运行脚本,然后向下滚动并点击 “保存”。
自动化 Gmail:8 个有用的 Google 脚本来自动化 Gmail

一旦此脚本运行,将创建一个新的分类法, “删除我” , 在您的 Gmail 帐户中。 使用此标签标记垃圾邮件,它们将在脚本中指定的天数后被删除。

提示:如果您的电子邮件似乎越来越失控,请阅读我们对 SaneBox 的评论,看看它是否可以帮助您处理电子邮件。

2. 存档所有旧邮件

如果您想要比删除电子邮件风险更小的选项,您可以按照以下步骤创建一个脚本来存档所有旧电子邮件。

  1. 使用以下代码创建一个新的 Google 脚本:
function archiveOldEmails() { // 获取收件箱中的所有线程 var threads = GmailApp.getInboxThreads(); // 遍历所有线程 for (var i = 0; i < threads.length; i++) { var thread = threads[i]; var messages = thread.getMessages(); // 遍历线程中的所有消息 for (var j = 0; j < messages.length; j++) { var message = messages[j]; var age = (new Date() - message.getDate()) / (1000 * 60 * 60 * 24); // 如果消息超过 30 天,将其存档 if (age > 30) { thread.moveToArchive(); } } }

2.创建一个触发器(如上图)每天运行脚本。
在您选择的时间,脚本将运行并将电子邮件从您的收件箱移动到存档。 这些存档的电子邮件仍将在一个部分中可用 “所有邮件”.

另請閱讀:  如何在 Google 表格中添加复选框

3.获取重要邮件的短信通知

此 Google 文本脚本利用 Google 日历的 SMS 功能在您收到重要电子邮件时向您发送 SMS。

  1. 使用以下代码创建一个新的 Google 脚本:
function Gmail_send_sms(){ var label = GmailApp.getUserLabelByName("发送短信"); if(label == null){ GmailApp.createLabel('发送文本'); } else{ var threads = label.getThreads(); var now = new Date().getTime(); 对于 (var i = 0; i < threads.length; i++) { var message = threads[i].getMessages()[0]; var from = message.getFrom(); var subject = message.getSubject(); CalendarApp.createEvent(subject, new Date(now+60000), new Date(now+60000), {location: from}).addSmsReminder(0); } label.removeFromThreads(线程); } }

2. 保存并创建每五分钟播放一次的触发器。
3.新建一个自动添加标签的Gmail过滤器 “发短信” 到您选择的传入电子邮件。 在 Gmail 中,单击图标 搜索选项 在顶部搜索栏中。
自动化 Gmail:2 个有用的 Google 脚本来自动化 Gmail 4. 自定义提醒您收件箱中有重要电子邮件的短信通知标准,然后点击 “创建过滤器”。
自动化 Gmail:2 个有用的 Google 脚本来自动化 Gmail

5. 选择 “分类申请” ,并选择 “发短信” وانقرعلى “创建过滤器”.
自动化 Gmail:2 个有用的 Google 脚本来自动化 Gmail 该脚本将每五分钟检查一次您的收件箱。 当它检测到带有标签的电子邮件时 “发短信” , 它会立即创建一个谷歌日历事件,这将触发短信

4. 创建电子邮件摘要

您可以编写脚本为未读电子邮件生成单个电子邮件摘要,而不是单独阅读所有电子邮件。

  1. 创建 谷歌脚本 新的代码如下:
function createEmailSummary() { // 搜索未读邮件 var threads = GmailApp.search("is:unread"); var summary = "未读邮件:\n"; 对于 (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var message = messages[j]; 摘要 += message.getFrom() + ": " + message.getSubject() + "\n"; } } // 搜索主题中包含特定关键字的电子邮件 var threads = GmailApp.search("subject:(important meeting)"); summary += "\n主题中包含关键字'important meeting'的邮件:\n"; 对于 (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); for (var j = 0; j < messages.length; j++) { var message = messages[j]; 摘要 += message.getFrom() + ": " + message.getSubject() + "\n"; } } // 您可以在此处添加更多搜索条件 // ... // 将摘要作为电子邮件发送 GmailApp.sendEmail("[email protected]","电子邮件摘要", 摘要); }

2.改变 [email protected]= 到您的电子邮件。
3.创建一个新的触发器来每天运行脚本。

当您运行该脚本时,它会通过电子邮件向您发送您尚未阅读的每种类型电子邮件的计数。 上面的文本是一个很好的起点——它计算了主题中带有“重要会议”的电子邮件的数量。 您可以设置脚本来计算所需的搜索条件。

5. 将电子邮件另存为 PDF 文件到 Google 云端硬盘

如果您有一封要在 Google 云端硬盘中存档的电子邮件,您可以使用 Google 脚本将其以 PDF 格式保存到您的 Google 云端硬盘帐户中。 以下脚本会将电子邮件线程中的所有消息保存为 Google 云端硬盘中的单个 PDF 文件。 如果电子邮件包含附件,则会创建一个文件夹并将消息和附件存储在其中。

  1. 使用以下代码创建一个新的 Google 脚本:
function save_Gmail_as_PDF() { // 获取标签“另存为 PDF”,如果不存在则创建标签 var label = GmailApp.getUserLabelByName("Save As PDF"); if(label == null){ label = GmailApp.createLabel('另存为 PDF'); } // 获取带有标签的线程 var threads = label.getThreads(); 对于 (var i = 0; i < threads.length; i++) { var messages = threads[i].getMessages(); var subject = messages[0].getSubject(); 变体 = []; // 遍历线程中的所有消息 for(var j = 0; j < messages.length; j++){ var message = messages[j]; bodys.push({ body: message.getPlainBody(), from: message.getFrom(), }); var attachments = message.getAttachments(); var temp_attach = message.getAttachments(); 如果(temp_attach.length > 0){ for(var k =0; k < temp_attach.length; k++){ attachments.push(temp_attach[k]); } } } // 从邮件正文创建一个 Google Docs 文档 var bodyDoc = DocumentApp.create(subject); var bodyDocId = bodyDoc.getId(); var bodyDocFile = DriveApp.getFileById(bodyDocId); var bodyDocBody = bodyDoc.getBody(); bodyDocBody.setText(bodys.map(obj => `From: ${obj.from}\n${obj.body}`).join('\n\n')); bodyDoc.saveAndClose(); // 将 Google Docs 文档转换为 PDF var blob = bodyDocFile.getAs('application/pdf'); var pdfFile = DriveApp.createFile(blob); // 如果有附件 if(attachments.length > 0){ // 在 Drive 中创建一个包含邮件主题的文件夹 var folder = DriveApp.createFolder(subject); for (var j = 0; j < attachments.length; j++) { folder.createFile(attachments[j]); } // 将邮件正文的PDF文件添加到文件夹folder.createFile(pdfFile); } // 从 Google Drive 中删除 Google Docs 文档 DriveApp.getFileById(bodyDocId).setTrashed(true); // 从线程标签中移除标签 removeFromThread(threads[i]); } }

2.保存它并设置一个触发器以定期播放它。
自动化 Gmail:5 个有用的 Google 脚本来自动化 Gmail

另請閱讀:  修复 Warframe 更新失败

当您想要将电子邮件及其附件保存到 Google Drive 时,只需用复选标记对其进行标记 “保存为 PDF”. 每个线程中的每封电子邮件和发件人的文本将按顺序显示,从最早的开始。

很高兴知道: 如何从手机和计算机上的 GOOGLE Drive 中删除文件。

6.自动发送跟进邮件

您的电子邮件可能并不总能得到及时回复。 要解决此问题,您可以发送后续电子邮件以提醒电子邮件收件人。 无需手动输入每个跟进,您可以使用脚本自动发送!

  1. 创建 新脚本 来自谷歌的以下代码:
函数 sendFollowupEmails() { const startDate = new Date('2023-01-01'); const daysAgo = 3; var dateInPast = new Date(); dateInPast.setDate(dateInPast.getDate() - daysAgo); var threads = GmailApp.search("is:sent before:" + dateInPast.toLocaleDateString() + " after:" + startDate.toLocaleDateString()); for (var i = 0; i < threads.length; i++) { var conversation = threads[i]; var foundResponse = false; // 如果已发送的线程有超过 1 封电子邮件,我们不需要跟进 // 因为我们已经跟进或他们回复了。 if (conversation.getMessages().length > 1) { foundResponse = true; } if (!foundResponse) { var body = "嗨,我只是想跟进我之前的电子邮件。如果我没有收到回复,我会假设你不感兴趣。\n\n此致,\n[你的名字]" ; conversation.repeatAll(正文); } } }

2.在此脚本中自定义一些东西:

  • 改变 开始日期 为了早于今天不要恢复太旧的线程。
  • 天数变化: 在发送跟进之前,请自定义您希望电子邮件保留多长时间。
  • 改变 [你的名字] 以你的名义。

3. 保存并设置触发器每 XNUMX 天运行一次。

继续正常发送邮件,脚本会自动处理跟进。

另請閱讀:  Microsoft Loop 入门的 11 大技巧

7. 根据主题关键词标记邮件

如果您被电子邮件淹没,但又不想删除其中的大部分,则可以使用此脚本根据内容对它们进行分类和组织。

  1. 创建 新脚本 来自谷歌的以下代码:
函数 categorizeEmails() { const emailsToGet = 50; var keywords = { "promo": "Promotions", "offer": "Promotions", "discount": "Promotions", "newsletter": "Newsletters", "action": "Todo", "required": "Todo ","shipped": "Orders", "delivered": "Orders", "receipt": "Orders", "invoice": "Orders" }; var threads = GmailApp.getInboxThreads(0, emailsToGet); 对于 (var i = 0; i < threads.length; i++) { var subject = threads[i].getFirstMessageSubject().toLowerCase(); var labels = GmailApp.getUserLabels(); var foundLabel = false; for (var keyword in keywords) { if (subject.indexOf(keyword) !== -1) { for (var j = 0; j < labels.length; j++) { if (labels[j].getName() = == 关键字[关键字]) { 线程[i].addLabel(标签[j]); 发现标签=真; 休息; } } if (!foundLabel) { GmailApp.createLabel(关键字[关键字]); threads[i].addLabel(GmailApp.getUserLabelByName(关键字[关键字])); } 休息; } } }

2.您可以自定义受变量影响的电子邮件数量 邮寄 或使用可变关键字的关键字和标签。
3.保存 脚本 并设置 操作员 每隔几分钟或几小时运行一次。
自动化 Gmail:7 个有用的 Google 脚本来自动化 Gmail 这使您可以通过仅显示带有特定标签的电子邮件来掌握最新情况。 此脚本适用于您的大部分电子邮件,避免您简单地删除它们。

8.将一些电子邮件转发到其他几个地址

虽然 Gmail 具有将电子邮件转发到另一个电子邮件地址的内置方法,但它无法轻松地将具有特定条件的电子邮件转发到多个电子邮件地址,但此脚本可以。

  1. 创建 新脚本 使用以下代码:
函数 categorizeEmails() { const emailsToGet = 50; var keywords = { "promo": "Promotions", "offer": "Promotions", "discount": "Promotions", "newsletter": "Newsletters", "action": "Todo", "required": "Todo ","shipped": "Orders", "delivered": "Orders", "receipt": "Orders", "invoice": "Orders" }; var threads = GmailApp.getInboxThreads(0, emailsToGet); 对于 (var i = 0; i < threads.length; i++) { var subject = threads[i].getFirstMessageSubject().toLowerCase(); var labels = GmailApp.getUserLabels(); var foundLabel = false; for (var keyword in keywords) { if (subject.indexOf(keyword) !== -1) { for (var j = 0; j < labels.length; j++) { if (labels[j].getName() = == 关键字[关键字]) { 线程[i].addLabel(标签[j]); 发现标签=真; 休息; } } if (!foundLabel) { GmailApp.createLabel(关键字[关键字]); threads[i].addLabel(GmailApp.getUserLabelByName(关键字[关键字])); } 休息; } } }

2. 根据需要定制标准。
3. 创建 操作员 它每隔几分钟或几小时运行一次脚本。

Gmail 会自动将符合您条件的电子邮件转发到两个或多个电子邮件地址。

经常问的问题

Q1:Google Apps Script 可以免费使用吗?
الجواب: 是的,只要您拥有 Gmail 帐户,就可以免费使用 Google Apps 脚本。 然而,有几十个 配额和限制 在你的使用上。 谷歌可能随时更改这些功能,但在撰写本文时,它们包括大约 40 种功能,例如创建文档、电子邮件读/写、创建电子表格和运行总运行时间。 免费帐户的限制非常低,而 Google Workspace 的限制要高得多。

Q2:我可以使用 Google Apps Script 从其他服务访问数据吗?
الجواب: 是的,Google Apps 脚本不限于与 Google 服务一起使用。 您可以访问来自互联网上第三方非 Google 服务的数据(例如, 神奇宝贝API) 使用内置类,如 UrlFetchApp 备注:

var response = UrlFetchApp.fetch("https://pokeapi.co/api/v2/pokemon/ditto");
Logger.log(response.getContentText()); // All details of Ditto would be logged

问题 3:如果我在我的 Google Apps 中看到错误,我该怎么办?
الجواب: 您可以调试代码以识别并修复错误。 幸运的是,Google Apps Script 有一个内置的调试器,您可以使用它来对代码进行故障排除。 要使用它,您只需要打开脚本编辑器并单击调试。 从那里,您可以设置断点、逐步执行代码并检查变量以帮助识别任何问题。

转到顶部按钮