Я пишу файл сообщения электронной почты в формате MIME, содержащий HTML. Я пишу HTML-часть файла MIME следующим образом:
writer.WriteLine("--" + altBoundary);
writer.WriteLine("Content-Type: text/html; charset=\"UTF-8\"");
writer.WriteLine("Content-Transfer-Encoding: quoted-printable");
writer.WriteLine();
QuotedPrintableEncoder qpEncoder=new QuotedPrintableEncoder();
writer.WriteLine(qpEncoder.Encode(HTMLBody));
В HTMLBody у меня есть большой кусок HTML. Один фрагмент этого выглядит следующим образом:
<p><br />Dear Ben,<br /><br />
Thank you for your interest in our products and services.
=
=20
</p>
<p>Here are some literature links you may find interesting:<=
/p>
<ul><li><a title=3D"Brochure One" href=3D"http://xxxxxshow=
.xxxpoint.com/Document?client=3DXxxxxxpoint&document=3DBrochure One">Broch=
ure One</a></li></ul>
Regards,<br />
Обратите внимание на домен //xxxxxshow.xxxpoint.com, который занимает разрыв строки в файле MIME. Когда этот домен попадает в Outlook, он «потерял первую точку, поэтому он читает xxxxshowxxxpoint.com, тогда как он должен читать xxxxxshow.xxxpoint.com. Если произошел разрыв строки, так что точка - это самый первый символ на следующей строке, точка теряется и теряется в источнике сообщения электронной почты, когда оно поступает в Outlook. Если разрыв строки происходит на полпути через слово «xxxxxshow», то точка не теряется и появляется в электронном письме в пределах перспективы.
Что происходит и как это исправить?