У меня есть приложение rails, которое обрабатывает входящие электронные письма через IMAP. В настоящее время используется метод, который ищет части объекта TMail для заданного content_type:
def self.search_parts_for_content_type(parts, content_type = 'text/html')
parts.each do |part|
if part.content_type == content_type
return part.body
else
if part.multipart?
if body = self.search_parts_for_content_type(part.parts, content_type)
return body
end
end
end
end
return false
end
Эти электронные письма, как правило, являются ответом на html-письмо, которое оно разослало в первую очередь. (Исходное исходящее электронное письмо никогда не бывает одинаковым.) Основной текст, возвращаемый описанным выше методом, содержит полную историю электронного письма, и я хотел бы просто разобрать текст ответа.
Мне интересно, разумно ли размещать некоторый текст «---пожалуйста, ответьте над этой строкой---» в верхней части письма, как я видел в приложении 37 signal.
Есть ли другой способ игнорировать специфичные для клиента дополнения к электронной почте, кроме написания множества регулярных выражений (которые я еще не пробовал) для каждого почтового клиента? Все они, кажется, прикрепляют свой собственный бит в верхней части любых ответов.