Я использую этот код для синтаксического анализа своих электронных писем.
class Receiver < ActionMailer::Base
def self.parse(email)
reply_separator = /(.*?)\s?== ADD YOUR REPLY ABOVE THIS LINE ==/m
comment_text = reply_separator.match(email.body.to_s)
# ...
end
end
Объект email
здесь представляет собой просто Mail::Message
объект, который я получаю, используя гем gmail
для чтения входящих сообщений.Если вы не используете GMail, вы можете использовать обычный старый гем Mail для подключения к почтовому серверу, а затем таким образом получать объекты Mail::Message
.