класс 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 33 def mail @mail ||= Mail.from_source(source) end
# File actionmailbox/app/models/action_mailbox/inbound_email.rb, line 41 def processed? delivered? || failed? || bounced? end
# 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.