在symfony中发送电子邮件

时间:2011-12-28 08:58:15

标签: php email symfony1 swiftmailer transport

我在symfony 1.4.8(和Doctrine as ORM)中使用swiftmailer(transport)发送邮件。

我按照书中的说法配置了所有内容。

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

问题是当我使用实时策略时,发送邮件需要花费太多时间,用户应该等到它完成。然后操作完成,您可以看到结果。这对我不利,因为我想发送用户注册的验证邮件,如果这很慢,用户将在注册期间失眠。

我也不能使用假脱机策略。因为我必须手动发送任务(我是对的吗?),我也不能这样做。因为它应该在注册后自动发送。

这种情况是否有策略?这足以发送电子邮件(无需等到它发送)

1 个答案:

答案 0 :(得分:0)

我使用实时策略发送电子邮件,有时在循环中发送数百封。我发现电子邮件,特别是在序列的早期发送时,相对较快。

我使用了以下技术:

  • Gmail和SSL加密
  • 通过API发送SendGrid
  • 我自己的API使用了一个电子邮件事务表,该表被任务发送电子邮件。

根据我的经验,单个确认电子邮件应该是非常有利的。如果不是,我会寻找其他(命令行)方法来调试该事务,看看你的瓶颈在哪里。我怀疑它的PHP,Symfony还是Swift。