Я использую swiftmailer (транспорт) в symfony 1.4.8 (и Doctrine as ORM), чтобы отправлять свои письма.Отправить письмо в 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
Проблема заключается в том, когда я использую стратегию в реальном времени, это занимает слишком много времени, чтобы отправить почту и пользователь должен ждать, пока это не будет сделано. Затем действие выполняется, и вы можете увидеть результат. Это не хорошо для меня, потому что я хочу отправить письмо с подтверждением для регистрации пользователя, и если это происходит медленно, пользователь будет спать во время регистрации.
И я не могу использовать стратегию золотника. Потому что я должен отправить их вручную с задачей (я прав?), И я тоже не могу этого сделать. Потому что он должен быть отправлен автоматически после регистрации.
У вас есть стратегия для этой ситуации? Это достаточно быстро для отправки писем (без необходимости ждать, пока они будут отправлены)
Да, вам нужно периодически запускать задачу, если вы используете стратегию золотника. Почему тебе нехорошо? Запускайте его через cron каждые 5 минут, это должно быть достаточно быстро. Вы также можете сразу отправить одиночные электронные письма. – Maerlyn
да я использовал тоже тоже (сразу отправка mails). но эта стратегия слишком трудоемка. Я не знаю, почему, но это слишком много, чтобы отправить его. работа с отправкой почты тоже хороша, но я думаю, что это не хорошо для проблем с производительностью. это? – Firouziam
Выполнение задачи каждые несколько минут, что фактически ничего не делает в большинстве случаев, не должно быть проблемой производительности. – Maerlyn