使用 sendEmail() 接收重复的电子邮件
Receiving duplicate emails with sendEmail()
我尝试了 MailApp.sendEmail()
和 GmailApp.sendEmail()
从 onFormSubmit
发送电子邮件确认并以多封重复电子邮件结束(多达 6 封)。代码如下所示:
function sendEmailConf_(ss, email, session) {
Logger.log("sendEmailConf_ email: %s for session: %s", email, session);
var formUrl = ss.getFormUrl(); // Use form attached to sheet
var form = FormApp.openByUrl(formUrl);
var formResponses = form.getResponses();
Logger.log("Count of form responses: %s", formResponses.length);
for (var i = 0; i < formResponses.length; i++) {
if (formResponses[i].getRespondentEmail() == email) {
Logger.log("Sending email to: %s for session: %s", email, session[0]);
GmailApp.sendEmail(
email,
'Confirmation for registration of: ' + session[0] + ', ' + getSessionSchedStr(session),
('Thanks for registering!\n\n' + getResponseAsText(formResponses[i]) + '\n\n' +
'You may change your response using this URL: ' + formResponses[i].getEditResponseUrl())
);
}
}
}
使用脚本脚本和日志语句,我确认 sendEmail()
只被调用一次,并且电子邮件是一个包含单个电子邮件地址的字符串。我收到的电子邮件具有完全相同的主体并且是在同一时间收到的,并且它们都具有相同的发件人和收件人地址(都是我的,因为我正在测试它)。有人知道这里出了什么问题吗?
编辑:刚观察到重复计数每达到 运行 就会增加 1。我刚刚又试了一次,收到了 7 封新邮件,都是完全重复的(与之前的 6 封不同)。我对导致这种行为的原因一无所知。
打开脚本编辑器并选择资源 -> 当前项目触发器。确保只有一个触发器与脚本关联。
如果您已与多个用户共享该脚本,则必须从可能已授权该脚本的每个用户的帐户重复此操作。
我尝试了 MailApp.sendEmail()
和 GmailApp.sendEmail()
从 onFormSubmit
发送电子邮件确认并以多封重复电子邮件结束(多达 6 封)。代码如下所示:
function sendEmailConf_(ss, email, session) {
Logger.log("sendEmailConf_ email: %s for session: %s", email, session);
var formUrl = ss.getFormUrl(); // Use form attached to sheet
var form = FormApp.openByUrl(formUrl);
var formResponses = form.getResponses();
Logger.log("Count of form responses: %s", formResponses.length);
for (var i = 0; i < formResponses.length; i++) {
if (formResponses[i].getRespondentEmail() == email) {
Logger.log("Sending email to: %s for session: %s", email, session[0]);
GmailApp.sendEmail(
email,
'Confirmation for registration of: ' + session[0] + ', ' + getSessionSchedStr(session),
('Thanks for registering!\n\n' + getResponseAsText(formResponses[i]) + '\n\n' +
'You may change your response using this URL: ' + formResponses[i].getEditResponseUrl())
);
}
}
}
使用脚本脚本和日志语句,我确认 sendEmail()
只被调用一次,并且电子邮件是一个包含单个电子邮件地址的字符串。我收到的电子邮件具有完全相同的主体并且是在同一时间收到的,并且它们都具有相同的发件人和收件人地址(都是我的,因为我正在测试它)。有人知道这里出了什么问题吗?
编辑:刚观察到重复计数每达到 运行 就会增加 1。我刚刚又试了一次,收到了 7 封新邮件,都是完全重复的(与之前的 6 封不同)。我对导致这种行为的原因一无所知。
打开脚本编辑器并选择资源 -> 当前项目触发器。确保只有一个触发器与脚本关联。
如果您已与多个用户共享该脚本,则必须从可能已授权该脚本的每个用户的帐户重复此操作。