我使用Swiftmailer编写了以下批量电子邮件发送脚本(使用它来发送简报)。通常一切正常,除了几个用户,他们有问题的电子邮件服务器,不断拒绝电子邮件(例如,由于完整的收件箱,无法验证反向DNS条目,......)。问题是Swiftmailer无限次地重试发送给这些电子邮件(直到服务器重新启动)。
是否有某种方法可以限制重试次数?
我已经读过public T GetFooByBar(Bar bar) where T : BaseFoo
{
BaseFoo baseFoo;
Bars.TryGetValue(bar, out baseFoo)
return (T)baseFoo;
}
类有Swift_FileSpool
函数,默认值是setRetryLimit
重试。但我不知道如何使用它。此外,似乎默认的重试限制因某种原因不适用。
10
答案 0 :(得分:1)
您的代码显示您使用SwiftMailers Swift_MailTransport()
作为传输类,它基于PHP的内置mail()
函数。这是非常便携的,但可能会产生不可预测的结果,并提供极其微弱的反馈。
mail()
函数通常将邮件放入本地邮件传递代理的队列中。检查服务器的smtp配置以更改行为,例如。重试间隔等。
为了更直接地控制脚本行为,您可以考虑切换到Swift_SmtpTransport()
。