класс ActionMailbox::InboundEmail
Это InboundEmail Active Record, хранящий ссылку на исходное электронное письмо, сохранённое в Active Storage, и отслеживающий статус обработки. По умолчанию входящие письма пройдут следующие этапы:
-
Ожидание: Только что получено одним из контроллеров ввода и запланировано для маршрутизации.
-
Обработка: В процессе активной обработки, в то время как конкретная почтовая папка выполняет свой метод обработки.
-
Доставлено: Успешно обработано конкретной почтовой папкой.
-
Неудачно: Во время выполнения метода
#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
Публичные методы экземпляра
# File actionmailbox/app/models/action_mailbox/inbound_email.rb, line 35 def mail @mail ||= Mail.from_source(source) end
# File actionmailbox/app/models/action_mailbox/inbound_email.rb, line 43 def processed? delivered? || failed? || bounced? end
# File actionmailbox/app/models/action_mailbox/inbound_email.rb, line 39 def source @source ||= raw_email.download end
© 2004–2020 David Heinemeier Hansson
Licensed under the MIT License.