Spec-Zone.ru › Ruby on Rails 8.1

class ActionMailbox::InboundEmail

InboundEmail — это Active Record, который хранит ссылку на исходное электронное письмо, сохранённое в Active Storage, и отслеживает состояние его обработки. По умолчанию входящие письма проходят следующий жизненный цикл:

  • Ожидает обработки: только что получено одним из контроллеров приёма и поставлено в очередь для маршрутизации.

  • Обрабатывается: во время активной обработки, пока конкретный почтовый ящик выполняет свой метод process.

  • Доставлено: успешно обработано конкретным почтовым ящиком.

  • Ошибка: во время выполнения метода process конкретным почтовым ящиком было вызвано исключение.

  • Возвращено: конкретный почтовый ящик отклонил обработку, и письмо было возвращено отправителю.

Когда InboundEmail получает статус delivered, failed или bounced, он считается processed?. После обработки для InboundEmail будет запланировано автоматическое удаление в более поздний момент.

При работе с InboundEmail вы обычно взаимодействуете с разобранной версией исходного письма, доступной в виде объекта Mail из mail. Однако получить доступ непосредственно к исходному содержимому можно также с помощью метода source.

Примеры:

inbound_email.mail.from # => 'david@loudthinking.com'
inbound_email.source # Returns the full rfc822 source of the email as text

Открытые методы экземпляра

mail () Показать исходный код
# File actionmailbox/app/models/action_mailbox/inbound_email.rb, line 33
def mail
  @mail ||= Mail.from_source(source)
end
processed? () Показать исходный код
# File actionmailbox/app/models/action_mailbox/inbound_email.rb, line 41
def processed?
  delivered? || failed? || bounced?
end
source () Показать исходный код
# File actionmailbox/app/models/action_mailbox/inbound_email.rb, line 37
def source
  @source ||= raw_email.download
end

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API