我在循环中使用以下代码从用户填写的电子表格发送电子邮件:
MailApp.sendEmail(Email, subject, body, {htmlBody: body, attachments: pdf});
问题是用户有时会误用电子邮件地址,当脚本运行并找到不正确的电子邮件地址时,它会停止脚本。
是否可以继续循环并跳过错误?谁能给我一个解决方案?
我在循环中使用以下代码从用户填写的电子表格发送电子邮件:
MailApp.sendEmail(Email, subject, body, {htmlBody: body, attachments: pdf});
问题是用户有时会误用电子邮件地址,当脚本运行并找到不正确的电子邮件地址时,它会停止脚本。
是否可以继续循环并跳过错误?谁能给我一个解决方案?
您可以使用正则表达式来验证电子邮件地址。我用这个:
regex_mail = re.compile('^[a-z0-9][a-z0-9_.\-]*@([a-z0-9]+\.)*[a-z0-9][a-z0-9\-]+\.([a-z]{2,6})$')
您可以使用 Python 异常处理和 try-except 来处理脚本错误。请参阅此问题: AppEngine 会产生哪些邮件服务错误?
如果用户使用 Google 表单填写电子表格,您应该为电子邮件字段启用验证。这不能确保地址存在,只能确保地址格式正确,但应该避免您看到的错误。
正如 voscausa 所建议的那样,在发送之前使用正则表达式进行验证仍然是明智的。
在 JavaScript 中使用validateEmail()
来自验证电子邮件地址?:
if (validateEmail(Email)) {
MailApp.sendEmail(Email, subject, body, {htmlBody: body, attachments: pdf});
}