Некоторые почтовые клиенты позволяют отправителю размещать изображения непосредственно в теле своего электронного письма (а не в виде традиционного вложения). Когда я получаю одно из этих писем в своем приложении, мне нужно иметь возможность просмотреть only text/plain
тело сообщения и определить, что отправитель встроил встроенное изображение.
Я пытаюсь создать RegEx для поиска заполнителей изображения в теле сообщения text/plain
, чтобы я мог поменять их на теги <img>
в моей собственной версии сообщения с поддержкой HTML. (Дурацкий, я знаю, но это требование).
Проблема, которую я обнаружил, заключается в том, что заполнители отличаются в зависимости от клиента отправляющей почты. Например, при отправке из MS Outlook тело text/plain
сообщения, состоящего из нескольких частей, выглядит следующим образом:
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Check out this image:
[cid:image001.jpg@01CB50D4.769583B0]
Isn't it cool??
Аналогичное сообщение, отправленное из Gmail, немного отличается:
Content-Type: text/plain; charset=ISO-8859-1
Check out this image:
[image: image001.jpg]
Isn't it cool??
Далее следуют text/html
корпус и image/jpeg
часть с закодированным в base64 изображением.
Кто-нибудь проводил какие-либо исследования по этому вопросу раньше и составлял список или создавал RegEx специально для этой цели?
Я понимаю, что более надежный способ достижения моей цели - посмотреть на часть сообщения text/html
, которая кажется немного более стандартизированной из нескольких проведенных мной тестов, но, к сожалению, я этого не делаю. у него нет доступа к этому в этом сценарии.
Я использую C #, если это кому-нибудь важно.
Вот список заполнителей текста / простого изображения, которые я скомпилировал на данный момент:
- Gmail:
[image: filename.jpg]
- Outlook 2007:
[cid:filename.jpg@01CB50D4.769583B0]
- Thunderbird 3.0.7:
none