Просмотр отправленных писем - PullRequest
1 голос
/ 29 июня 2010

У меня есть config.action_mailer.delivery_method =: протестировать и использовать delayed_job. Я запускаю некоторый код, который помещает письмо для отправки в очередь, затем запускаю rake jobs: work, но нигде не вижу отправляемого письма, и ActionMailer :: Base.deliveries равен nil. Я просто хочу отладить и просмотреть содержимое электронных писем, как я могу это сделать?

1 Ответ

2 голосов
/ 29 июня 2010

Если для config.action_mailer.delivery_method установлено значение :test, электронные письма фактически не отправляются, а просто добавляются в список «отправленных» сообщений. Этот список существует только в памяти. Это означает, что только процесс, который «отправил» электронное письмо, может видеть список и проверять, действительно ли оно было «отправлено».

Поскольку код, который фактически отправляет вашу почту, выполняется во внешнем процессе (посредством вызова system() или обратного удара), ваш вызывающий скрипт не сможет увидеть очередь в памяти этого внешнего процесса и, следовательно, не сможет проверить, что письма действительно были "отправлены".

Это не должно быть большим делом, если что-то пошло не так. По умолчанию исходящие электронные письма будут записываться в файл журнала, поэтому вы можете проверить, что они действительно отправляются, проверив их там. Если вы хотите просматривать / манипулировать очередью в памяти, для этого вам нужно добавить код в свою работу, поскольку это единственный код, который будет иметь к нему доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...