HTML текстовые электронные письма - как показать HTML-версию в Gmail? - PullRequest
0 голосов
/ 15 августа 2010

Я добавил текстовую версию в электронные письма, сгенерированные системой, поскольку электронная почта без текстовой версии считается спамом.Вот мой код:

MailMessage mm = new MailMessage(
new MailAddress(from, msg.FromName), new MailAddress(msg.ToEmail, msg.ToName)); 
mm.Subject = msg.Subject;
mm.Body = msg.Body;
mm.IsBodyHtml = 1;
mm.Priority = MailPriority.Normal;
ContentType plainContentType = new ContentType("text/plain");
AlternateView plainTextView = AlternateView.CreateAlternateViewFromString(msg.BodyTxt, plainContentType);
mm.AlternateViews.Add(plainTextView);

Он прекрасно работает, но теперь моя проблема в том, что такие системы, как gmail, отображают текстовую версию, а не основную версию html!

Пока я обнаружил, чтоэлектронная почта состоит из 2 частей:

Content-Type: ***text/plain***; charset=utf-8
Content-Transfer-Encoding: base64

и

Content-Type: text/plain
Content-Transfer-Encoding: base64

Первая из них больше и должна быть HTML-версией (как вы видите, я установил IsBodyHtml в true).Есть идеи?

1 Ответ

1 голос
/ 15 августа 2010

Решением было поместить текстовую версию в Body и добавить текстовую / html версию как ALternateView

...