Проблема с отправкой html письма - PullRequest
1 голос
/ 18 мая 2011

Почему, когда я отправляю html письмо, оно выглядит так:

enter image description here

но начальная страница:

enter image description here

Вот код:

MailMessage message = new MailMessage();
                message.IsBodyHtml = true;
                message.Subject = subject;
                message.Body = body;

                foreach (MailAddress recipient in recipients)
                {
                    message.To.Add(recipient);
                }
                if (message.To.Count > 0)
                {
                    SmtpClient smtp = new SmtpClient();
                    smtp.Send(message);
                    return true;
                }

HTML-файл содержит CSS в голове. http://pastebin.com/r5V6X4Ld

Ответы [ 2 ]

1 голос
/ 18 мая 2011

Я предполагаю, что переменная body содержит только HTML-код, но не CSS или изображения, потому что оба являются отдельными файлами.
По сути, вам нужно прикрепить изображения к почте и изменить HTML-код тела, чтобы он указывал на правильное местоположение. См. здесь для получения дополнительной информации и примера кода.

Это также может быть полезно: http://www.alistapart.com/articles/cssemail/

Проблема:

Некоторые клиенты предоставили мою электронную почту без какого-либо стиля. Сначала я объяснил это удалением стилей, но потом обнаружил, что стили были четко видны в исходном коде. Впоследствии я потратил много времени, пытаясь раскрыть виновника, тестируя бесчисленные версии электронной почты. Увы, проблема была прямо у меня под носом: стили не были удалены - точки (.), Предшествующие их именам. Поэтому «.Feature {}» стал «Feature {}», что привело к бессмысленному определению стиля.

Решение:

Я использовал селекторы классов, которые гарантировали, что каждый стиль будет начинаться с буквы вместо точки. Поэтому «.Feature {}» станет «td.Feature {}» или «div.Feature {}» (в зависимости от приложения). Несколько приземленное исправление, но эффективное и (опять же) совместимое.

0 голосов
/ 18 мая 2011

Вы должны указать свое изображение с полным путем, например, www.yourdomain / imagename.jpg и т. Д., А также указать класс в виде встроенных стилей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...