Labyrinth of Wisdom

-This is My Archive-


メールアドレス不達フラグによるメール送信エラー

以前メール送信のタイマーセット機能を実装したんですが、セットした時間になっても送信されなかったことがあり、その時に色々調べたことをメモします。

過去にApexでメール送信機能(SingleEmail)についての記事を書きました。

この時に送信対象者の中に、メールアドレス不達フラグがTrueの人が一人でもいると送信自体が失敗してしまいます。

レコードのメールアドレス不達フラグがTrueなら画面がこんな感じになっているはずです。 (因みにメールアドレスを編集したら不達フラグはFalseになり、このエラーメッセージは表示されなくなります。)

f:id:Labyrinth_of_Wisdom:20160909101703p:plain

なので送信対象者をSOQL文で引っ張ってくる時に、送信対象者のメールアドレス不達フラグがTrueの人を除外するような文に変更することで解決しました。

項目名 API
メール不達発生日 EmailBouncedDate
メール不達の理由 EmailBouncedReason
Contact[] conList = new List<Contact>();

conList = [SELECT
               Email
           FROM
               Contact
           WHERE
               EmailBouncedDate = null
           AND
               EmailBouncedReason = null
          ];

参考