1

以下のコードをループで使用して、ユーザーが入力したスプレッドシートから電子メールを送信しています。

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

問題は、ユーザーが電子メール アドレスを間違えることがあり、スクリプトを実行して間違った電子メール アドレスを見つけると、スクリプトが停止することです。

ループを続行してエラーをスキップする方法はありますか? 誰でも私に解決策を教えてもらえますか?

4

2 に答える 2

0

ユーザーが Google フォームを使用してスプレッドシートに入力している場合は、電子メール フィールドの検証を有効にする必要があります。これはアドレスが存在することを保証するものではなく、アドレスが適切に形成されていることを保証するものではありませんが、表示されているエラーを回避する必要があります。

voscausa が示唆するように正規表現を使用して、送信する前に検証することは依然として賢明です。

JavaScript で Validate email addressvalidateEmail()から使用しますか? :

if (validateEmail(Email)) {
  MailApp.sendEmail(Email, subject, body, {htmlBody: body, attachments: pdf});
}
于 2014-01-10T01:13:17.733 に答える
0

正規表現を使用して、次のようにメールアドレスを検証できます。私はこれを使用します:

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 が生成する可能性のあるメール サービス エラーは何ですか?

于 2012-09-03T22:29:32.740 に答える