【发布时间】:2012-01-29 00:58:06
【问题描述】:
我在 symfony 1.4.8(以及作为 ORM 的 Doctrine)中使用 swiftmailer(传输)来发送我的邮件。
我已经按照书中的说明进行了配置。
dev:
mailer:
class: sfMailer
param:
delivery_strategy: spool
spool_class: Swift_DoctrineSpool
spool_arguments: [ MailMessage, message, getSpooledMessages ]
transport:
class: Swift_SmtpTransport
param:
host: something
port: 26
encryption: ~
username: something
password: something
问题是当我使用实时策略时,发送邮件需要太多时间,用户应该等到它完成。然后操作完成,您可以看到结果。这对我不好,因为我想发送验证邮件进行用户注册,如果速度很慢,用户会在注册期间入睡。
而且我也不能使用假脱机策略。因为我必须手动将它们与任务一起发送(对吗?),我也不能这样做。因为应该是注册后自动发送的。
那么对于这种情况有策略吗?这对于发送电子邮件来说已经足够快了(无需等到发送完毕)
【问题讨论】:
-
是的,如果您使用假脱机策略,则需要定期运行任务。为什么对你不好?每 5 分钟通过 cron 运行一次,应该足够快。您也可以选择立即发送单封电子邮件。
-
是的,我也用过(立即发送邮件)。但是这个策略太耗时了。我不知道为什么,但是发送它需要太多时间。运行发送邮件任务也很好,但我认为它不利于性能问题。是吗?
-
每隔几分钟运行一个任务,在大多数情况下实际上什么都不做,这不应该是性能问题。
标签: php email symfony1 swiftmailer transport