当电子邮件谷歌应用程序出错时继续脚本

时间:2012-09-03 20:25:13

标签: google-apps-script

我在循环中使用以下代码从用户填写的电子表格中发送电子邮件:

MailApp.sendEmail(Email, subject, body, {htmlBody: body, attachments: pdf});

问题是用户有时会错误地使用电子邮件地址,当脚本运行并找到错误的电子邮件地址时,它会暂停脚本。

是否有继续循环并跳过错误?谁能告诉我一个解决方案?

2 个答案:

答案 0 :(得分:0)

您可以使用正则表达式来验证电子邮件地址。我用这个:

regex_mail = re.compile('^[a-z0-9][a-z0-9_.\-]*@([a-z0-9]+\.)*[a-z0-9][a-z0-9\-]+\.([a-z]{2,6})$')

您可以使用try-except处理Python异常处理来处理脚本错误。看到这个问题: What mail service errors can AppEngine produce?

答案 1 :(得分:0)

如果用户使用Google表单填写电子表格,则应启用电子邮件字段的验证。这不会确保地址存在,只是它正确形成,但应该避免你看到的错误。

在发送之前验证仍然是明智的,使用正则表达式作为voscausa建议。

使用Validate email address in JavaScript?中的validateEmail()

if (validateEmail(Email)) {
  MailApp.sendEmail(Email, subject, body, {htmlBody: body, attachments: pdf});
}