Применение форматирования HTML в теле письма - PullRequest
7 голосов
/ 20 декабря 2009

Я все еще пытаюсь выяснить, почему я не могу применить форматирование HTML в теле пользовательского письма. Я уверен, что что-то упустил, или мне нужна новая пара глаз!

Вот информация, добавленная к <head> веб-страницы

<head runat="server">
    <link href="~/MyStyle.css" rel="stylesheet" type="text/css" />
</head>

Mystyle.css содержит следующее

span.orange
{
    color: #FF6D06;
    font-family: tahoma;
    font-size: 10pt;
}

и вот идет часть тела ...

Dim HtmlString as string = "<span class='orange'>This one should be painted</span>" 

который отправляется с использованием Net.Mail

Dim objMail As New Mail.MailMessage (blah, blah blah)
objMail.IsBodyHtml = True

ОБНОВЛЕНИЕ: Прежде всего, спасибо за ваши комментарии. Само электронное письмо никоим образом не связано с таблицей стилей. Итак, какие у меня есть варианты помимо прикрепления таблицы стилей к электронному письму?

Ответы [ 5 ]

13 голосов
/ 20 декабря 2009

Когда я это сделал, я обычно встраивал CSS в тело письма:

<html>
<head>
<style type="text/css">
span.orange
{
    color: #FF6D06;
    ...
}
</style>
</head>
...

Избегайте ссылок на внешние объекты (например, таблицы стилей, изображения и т. Д.) В электронной почте в формате HTML. Эти ссылки могут быть недоступны, в зависимости от настроек почтового агента пользователя. Также узнайте о поддержке HTML в почтовых агентах. Это может быть не так богато, как вы ожидаете. Вот некоторая информация о Outlook , например.

6 голосов
/ 20 декабря 2009

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

Рок Твердые электронные письма в формате HTML

Руководство по поддержке CSS в почтовых клиентах

5 голосов
/ 20 декабря 2009

Похоже, вы делаете это неправильно.

Ваш CSS должен быть встроенным, а не внешним. Тогда у вас есть все ваши HTML и CSS стили в качестве тела вашего письма, и оно будет работать.

Вы действительно хотите избегать ссылок на внешние файлы, так как многие почтовые приложения блокируют ссылки.

0 голосов
/ 20 декабря 2009

Атрибут цвета не будет работать для электронной почты, для большинства почтовых агентов он может работать при первой отправке электронной почты, но он будет игнорироваться при пересылке электронной почты.

Лучше всего использовать очень старые теги и таблицы HTML для форматирования и оформления электронной почты, например, код без предварительной таблицы.

Грустно, но верно, поддержка электронной почты все еще невероятно бедна.

0 голосов
/ 20 декабря 2009

Большинство почтовых программ (как для настольных, так и для веб-сайтов) не очень хорошо справляются с CSS: обычно лучше не использовать внешний CSS и использовать встроенные стили, часто лучше таблицы для форматирования вместо div, ...

А где ваш CSS? Это по крайней мере где-то на сервере?
(т. Е. Он должен быть не только на вашем локальном компьютере, но и доступен через какой-то URL)

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