限制在swiftmailer中发送重试的电子邮件

时间:2016-05-13 09:04:18

标签: php swiftmailer

我使用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

1 个答案:

答案 0 :(得分:1)

您的代码显示您使用SwiftMailers Swift_MailTransport()作为传输类,它基于PHP的内置mail()函数。这是非常便携的,但可能会产生不可预测的结果,并提供极其微弱的反馈。

mail()函数通常将邮件放入本地邮件传递代理的队列中。检查服务器的smtp配置以更改行为,例如。重试间隔等。

为了更直接地控制脚本行为,您可以考虑切换到Swift_SmtpTransport()