メッセージに「メールボックスがいっぱい」が含まれている場合にメッセージを再送信するトリガーを作成することにより、「メールボックスがいっぱい」に基づいてバウンスするメールの問題を解決しようとしています。
私が直面している問題は、再送の回数を3回に制限する必要があるということです。私が今持っているものは、バウンスされた電子メールが受信されるとすぐに電子メールを再送信し続けます。
私の引き金は
trigger trgBouncedEmails on EmailMessage (after insert) {
for(EmailMessage myEmail: trigger.New) {
//mail box full bounced email
if (myEmail.HtmlBody.contains('full'))
{
Case[] parentCase = [Select c.Id from Case c where c.Id =: myEmail.ParentId];
if (myEmail.Subject.contains('Financial Review'))
parentCase[0].Resend_Email_Send__c = true; // this will trigger a workflow to send the email again.
Update parentCase;
}
}
}
再送信を制限するにはどうすればよいですか?「parentCaseの更新」を実行する前に待機時間を設定する方法はありますか?
私にはさまざまな種類の電子メールがあり、それぞれに異なるテンプレートと異なる目的があることを知っているので、この問題を解決するためのより良い方法はありますか?
編集 システムは、24時間の頻度で3回自動的に電子メールを再送信し、24時間後に再送信を停止する必要があります。私のトリガーは無期限に再送信し続け、8時間に1回のように、24時間に3回しか送信できないように待機する方法を見つけようとしています。