Отправить электронную почту в Symfony - PullRequest
0 голосов
/ 28 декабря 2011

Я использую swiftmailer (транспорт) в Symfony 1.4.8 (и Doctrine как ORM) для отправки моих писем.

Я все настроил, как написано в книге.

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 голосов
/ 28 декабря 2011

Я отправляю электронные письма, используя стратегию в реальном времени, а иногда и сотни в цикле.Я считаю, что электронные письма, особенно когда они отправляются в начале последовательности, относительно быстрые.

Я использовал следующие методы:

  • Шифрование Gmail и SSL
  • SendGrid через API
  • Мой собственный API, который использовал электронную почтутаблица транзакций, которая попадает под задачу отправки электронных писем.

По моему опыту, одно подтверждение по электронной почте должно быть очень целесообразным.Если это не так, я бы искал другие (командной строки) способы отладки этой транзакции, чтобы увидеть, где у вас узкое место.Я сомневаюсь, что это PHP, Symfony или Swift.

...