0
我在symfony 1.4.8(和Doctrine as ORM)中使用swiftmailer(transport)來發送我的郵件。在symfony中發送電子郵件
我已經按照本書的說法配置了所有內容。
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運行一次,應該足夠快。您也可以選擇立即發送單個電子郵件。 – Maerlyn 2011-12-28 10:02:50
是的,我也使用過(立即發送郵件)。但是這個策略太耗時。我不知道爲什麼,但發送它太多了。運行發送郵件任務也不錯,但我認爲這對性能問題不好。是嗎? – Firouziam 2011-12-28 10:18:10
每幾分鐘運行一次任務,在大多數情況下,這不會成爲性能問題。 – Maerlyn 2011-12-28 11:12:08