我在循环中使用以下代码从用户填写的电子表格中发送电子邮件:
MailApp.sendEmail(Email, subject, body, {htmlBody: body, attachments: pdf});
问题是用户有时会错误地使用电子邮件地址,当脚本运行并找到错误的电子邮件地址时,它会暂停脚本。
是否有继续循环并跳过错误?谁能告诉我一个解决方案?
答案 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});
}