Я понимаю, что вы хотите поймать обработанную электронную почту, и это возможно, но я думаю, что есть более простое решение. Выясните, какие данные нужны ваши электронные письма. Например, скажем, ваши сообщения требуют адрес электронной почты получателя и полное имя получателя. Итак, вы создаете подкласс ActiveRecord (названный, возможно, ScheduledEmail
) для хранения этих атрибутов. Если вы хотите поставить электронную почту в очередь, просто сохраните новую запись.
Тогда у вас может быть скрипт cron, который вызывает задачу rake. В задании rake вы можете сделать что-то вроде этого:
ScheduledEmail.all.each do |email|
Notifier.foo(email).deliver
email.destroy
end
Кроме того, если вы хотите их использовать, для Rails существует несколько плагинов для планирования задач. Вот статья, в которой упоминается несколько:
http://intridea.com/2009/2/13/dead-simple-task-scheduling-in-rails?blog=company