メールアドレス不達フラグによるメール送信エラー
以前メール送信のタイマーセット機能を実装したんですが、セットした時間になっても送信されなかったことがあり、その時に色々調べたことをメモします。
過去にApexでメール送信機能(SingleEmail)についての記事を書きました。
この時に送信対象者の中に、メールアドレス不達フラグがTrueの人が一人でもいると送信自体が失敗してしまいます。
レコードのメールアドレス不達フラグがTrueなら画面がこんな感じになっているはずです。 (因みにメールアドレスを編集したら不達フラグはFalseになり、このエラーメッセージは表示されなくなります。)
なので送信対象者をSOQL文で引っ張ってくる時に、送信対象者のメールアドレス不達フラグがTrueの人を除外するような文に変更することで解決しました。
項目名 | API名 |
---|---|
メール不達発生日 | EmailBouncedDate |
メール不達の理由 | EmailBouncedReason |
Contact[] conList = new List<Contact>(); conList = [SELECT Email FROM Contact WHERE EmailBouncedDate = null AND EmailBouncedReason = null ];
参考