我正在尝试通过创建一个触发器来解决基于“邮箱已满”的退回电子邮件问题,该触发器在邮件包含“邮箱已满”时重新发送该邮件。
我面临的问题是我需要将重新发送的次数限制为 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小时后停止重新发送。我的触发器无限期地重新发送,我试图找到一种等待的方法,这样它只能在 24 小时内发送 3 次,比如每 8 小时一次。