Как найти оригинал письма в форварде, используя самоцвет Mail - PullRequest
0 голосов
/ 23 октября 2019

Как использовать гем Mail для Ruby для извлечения исходного сообщения HTML-содержимого / текстового содержимого из перенаправленного электронного письма?

Пока все примерыЯ вижу, что они связаны с извлечением контента из ответов (не пересылок), что намного проще, потому что вы можете просто набрать --reply above this line-- в сообщении.

Но в моем случае у меня есть людипересылать мне письма с подтверждением, например, как TripIt анализирует маршруты рейсов из множества разных электронных писем авиакомпаний.

Проблема в том, что существует сложная иерархия «частей», а также частей, содержащих другие части, и я пытаюсьпридумать надежный способ найти исходный HTML-источник, чтобы я мог его проанализировать и извлечь информацию из переадресованного исходного сообщения электронной почты.

m = Mail.read('raw.txt')

m.parts
m.parts.first.parts
m.parts.last.parts.first.parts # never ending....

1 Ответ

2 голосов
/ 23 октября 2019

Вот то, что я делал в прошлом, который просто рекурсивно ищет самое большое тело HTML. Это, вероятно, сломается с многоуровневыми форвардами, но в нашем случае он должен иметь глубину только 1 форвард и пока отлично работает.

К сожалению, состояние переполнения стека в наши дни из-за глупых голосов закрыться накаждый вопрос, что ИМО является законным. Неужели люди действительно ожидают, что вы добавите 5000 строк HTML в свой вопрос, совершенно очевидно, что вы спрашиваете

...