Есть ли простой способ сообщить разработчику отправить все сообщения по электронной почте через delayed_job?Отправка письма с задержкой от разработки
ответ
В качестве альтернативы, вместо использования отложенной :: Mailer камень, вы можете довольно легко реализовать и использовать свои собственные ActionMailer «способ доставки», который ...
- перехватывает доставки почты из ActionMailer
- хранит электронную почту в таблице (опционально)
- создает Delayed :: Работа, которая ссылается на хранимую Отправить по электронной почте
- доставляет хранимую письмо, когда задержанный работа выполняется
ли что-то вдоль линий:
# in config/application.rb
ActionMailer::Base.add_delivery_method :queued, Mail::QueuedDelivery
# in config/environment.rb (or one of the config/environments/*.rb files)
config.action_mailer.delivery_method = :queued # ie. Mail::QueuedDelivery
# in lib/mail/queued_delivery.rb
module Mail
class QueuedDelivery
def initialize(values = {})
# (optional)
end
def deliver!(mail)
email = Email.create!(:delivery_handler => mail.delivery_handler.name, :message => mail.to_s)
Delayed::Job.enqueue Jobs::Email::DeliverEmail.new(email.id)
end
end # class QueueDelivery
end # module Mail
запаздывающего :: Работа вам нужно будет затем реализовать ...
- получить накопленную электронную почту из базы данных -
email = ::Email.find_by_id(email_id)
- доставить электронную почту через почтовую жемчужину -
Mail::Message.new(email.message).deliver
Вот это ... надеюсь, что это поможет!
Я понятия не имею, что такое Devise, но я думаю, что это сторонний драгоценный камень, который вы не хотите изменять. Код: delayed_job_mailer. Вы можете расширять рассылку разработчиков, обезьянными патчами, чтобы использовать delayed_job.
class SomeExistingMailer
include Delayed::Mailer
end
или если вы хотите, чтобы отправить все сообщения электронной почты приложения с помощью замедленной работы по умолчанию:
# config/initializers/delayed_mailer.rb
class ActionMailer::Base
include Delayed::Mailer
end
Завершилось ли это? Я ищу то же самое решение – AnApprentice
Я попробовал ваше второе предложение, которое было бы удивительно, если бы оно сработало, но получило сообщение об ошибке «/Users/bhellman/Sites/cline/config/initializers/delayed_mailer.rb:3: uninitialized constant Delayed: : Mailer (NameError) " – AnApprentice
Мне кажется, что почтовая почта Delayed не была загружена. Вы указали его в Gemfile, в конечном итоге потребовали его в environment.rb – gertas
Я обнаружил, что ничто из этого не работает для меня. Я использую Devise 2.0.4 и Rails 3.2.2 с delayed_job_active_record. 0.3.2
Способ, которым на самом деле говорит о том, как что-то подобное делать в комментариях в коде, заключается в переопределении методов в классе User. Таким образом, я решил это, как это так, и это работает прекрасно:
приложения/модель/User.rb
def send_on_create_confirmation_instructions
Devise::Mailer.delay.confirmation_instructions(self)
end
def send_reset_password_instructions
Devise::Mailer.delay.reset_password_instructions(self)
end
def send_unlock_instructions
Devise::Mailer.delay.unlock_instructions(self)
end
Существует теперь Разрабатывает Асинхр проект, который достигает именно это:
- 1. Отправка письма от Azure
- 2. node.js отправка почты с задержкой
- 3. Отправка письма с WAMP
- 4. Отправка HTML-письма от Joomla! компонент
- 5. Отправка потокового письма от Google App Engine
- 6. Отправка изображений в теле письма от UNIX
- 7. Отправка намерений от приемника на обслуживание с задержкой
- 8. Отправка сообщений WCF с задержкой при загрузке
- 9. Отправка сообщения от Pylons
- 10. NodeJS отправка электронной почты с задержкой
- 11. Отправка HTML-письма с приложением с mailutils
- 12. PHP- Отправка ежедневного электронного письма
- 13. Отправка почты для разработки
- 14. Отправка письма «i» с помощью SendKeys
- 15. Отправка пользовательского электронного письма с помощью Rails?
- 16. отправка отформатированного письма с использованием AWS
- 17. Отправка html-письма с использованием сценариев JQuery
- 18. Отправка зашифрованного письма с помощью CodeIgniter 2.0
- 19. Отправка письма с ASP.NET Membership полномочий
- 20. Показать текст в поле ввода письмо для письма с задержкой
- 21. Письма с задержкой, отправленные и полученные через IMAP
- 22. SMTP: электронные письма, отправленные с задержкой (~ 8 часов)
- 23. Отправка HTML-форматированного письма на Android
- 24. Отправка подтверждающего электронного письма с подтверждением с помощью Devise
- 25. Postfix Отправка электронной почты с машины разработки
- 26. Отправка html-письма из электронной почты VBA
- 27. Отправка сообщения электронной почты от разработки Blackberry java
- 28. Отправка почты с Rails 3 в среде разработки
- 29. Почему письма Mandrill не отправляются с сервера разработки (localhost)?
- 30. таинственные письма от PHPMailer
http://stackoverflow.com/questions/4125564/rails-devise-delay ed-job – Zabba