Мы используем Redemption из надстройки Outlook для сохранения сообщений в формате EML (RFC822).
Была неудачная ситуация, когда один из наших клиентов вложил несколько вложений EML-файлов в свою электронную почту (и эти сообщения были сохранено с погашением).
Сгенерированный EML не совпадает, если я открываю в Outlook как исходное сообщение.
ИМХО проблема, вызванная тем, что прикрепленные файлы EML используют тот же «00B0FEED_message_boundary» "ID для границ части сообщения.
Я пытаюсь объяснить ниже:
... headers ..
Content-type: Multipart/mixed; charset=iso-8859-1;
boundary="00B0FEED_message_boundary"
Content-Description: Multipart message
--00B0FEED_message_boundary
Content-type: Multipart/alternative; charset=ISO-8859-1;
boundary="00B0FEEE_message_boundary"
Content-Description: Multipart message
--00B0FEEE_message_boundary
Content-type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Content-Description: Message text
... message body in plain text format ...
--00B0FEEE_message_boundary
Content-type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: Quoted-printable
Content-Disposition: inline
Content-Description: HTML text
... message body in HTML format ...
--00B0FEEE_message_boundary--
--00B0FEED_message_boundary
Content-type: application/octet-stream; charset=iso-8859-1;
name="=?iso-8859-1?Q?1=20Ab-=20und=20Zuschl=E4ge=2EEML?="
Content-Transfer-Encoding: Quoted-printable
Content-Disposition: attachment;
filename="=?iso-8859-1?Q?1=20Ab-=20und=20Zuschl=E4ge=2EEML?="
Content-Description: =?iso-8859-1?Q?1=20Ab-=20und=20Zuschl=E4ge=2EEML?=
... first attached message headers ...
Content-type: Multipart/mixed; charset=3Dutf-8;
boundary=3D"00B0FEED_message_boundary" <------ inner message boundary ID
Content-Description: Multipart message
--00B0FEED_message_boundary
Content-type: Multipart/related; charset=3DISO-8859-1;
boundary=3D"00B0FEEE_message_boundary"
Content-Description: Multipart message
--00B0FEEE_message_boundary
Content-type: Multipart/alternative; charset=3DISO-8859-1;
boundary=3D"00B0FEEF_message_boundary"
Content-Description: Multipart message
--00B0FEEF_message_boundary
Content-type: text/plain; charset=3Dutf-8
Content-Transfer-Encoding: Quoted-printable
Content-Disposition: inline
Content-Description: Message text
... first attached message body in plain text ...
--00B0FEEF_message_boundary
Content-type: text/html; charset=3Dutf-8
Content-Transfer-Encoding: Quoted-printable
Content-Disposition: inline
Content-Description: HTML text
... first attached message body in HTML ...
--00B0FEEF_message_boundary--
--00B0FEED_message_boundary--
--00B0FEED_message_boundary
... several other similar EML messages
Это сообщение не открывается правильно в Outlook, но если я изменю внутренний идентификатор границы сообщения (и изменю соответствующую часть во внутреннем сообщении), EML открывается правильно. Поэтому я предполагаю, что этот похожий идентификатор является причиной моей проблемы.
Есть ли способ обойти использование случайного идентификатора для границы сообщения? Может заставить BASE64 кодировать вложения?