如何强制 Google App Script MailApp.sendEmail 在循环中为每封电子邮件使用新线程?
Posted
技术标签:
【中文标题】如何强制 Google App Script MailApp.sendEmail 在循环中为每封电子邮件使用新线程?【英文标题】:how can I force Google App Script MailApp.sendEmail to use a new thread for each email in a loop? 【发布时间】:2021-04-26 02:35:22 【问题描述】:我正在做一个简单的应用程序,我有一个包含几列的电子表格,一个是电子邮件地址,另一个是我想通过电子邮件发送到这些地址的信息。代码很简单,就是一个while循环,每行数据都执行MailApp.sendEmail
。
我遇到的问题是,当我执行应用程序时,所有电子邮件最终都在同一个电子邮件线程中。这使得跟踪响应变得非常困难,因为每封电子邮件都是独立的。我一直在寻找有关如何强制MailApp.sendEmail
启动新线程的方法,但在documentation 或网络中找不到如何操作。
【问题讨论】:
【参考方案1】: 问题是您对这些电子邮件使用完全相同的主题,因此它们最终会出现在同一个电子邮件线程中。例如:
这会将所有电子邮件放在同一个线程中:
function myFunction()
for (let i=0; i<2; i++)
MailApp.sendEmail("example@gmail.com",
"Test", // subject is the same for every email
"This is an test email");
这会将电子邮件放在不同的线程中:
function myFunction()
for (let i=0; i<2; i++)
MailApp.sendEmail("example@gmail.com",
"Test"+i, // subject is different for every email
"This is an test email");
您可以发送日期时间,而不是使用描述性不太好的i
作为主题:
"Test"+new Date()
虽然如果电子邮件立即发送,这可能不起作用,因此主题将再次相同,但它可能适用于您的情况。
理想情况下,您需要与电子邮件相关的内容,例如与电子邮件正文相关的内容。
【讨论】:
谢谢!这就是问题所在!我已经包含了请求号(每行都不同),现在所有的电子邮件都在不同的线程中发送,以上是关于如何强制 Google App Script MailApp.sendEmail 在循环中为每封电子邮件使用新线程?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Google OAuth 2.0 Playground 运行 Google App Script 功能 |调用者没有权限
如何在 Google App Script 中使用参数调用 MySQL 存储过程?
如何收听Telegram Bot错误? (Google App Script + Webhooks)
如何向 Google Apps Script Web App 发送有效的 HTTP 请求?
如何使用 Google App Script 从 Youtube 搜索中创建 RSS 提要?
在Google-App-Script for Google云端硬盘中如果标题包含某个字词,如何将某些文件从root移动到某个文件夹?