2009-12-19 3 views
7

Я все еще пытаюсь понять, почему я не могу применить форматирование HTML в теле пользовательского письма. Я уверен, что я что-то упустил, или мне нужна новая пара глаз!Применение форматирования 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 

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

+1

Я запутался. Как HTML в теле письма ссылается на вашу таблицу стилей? –

+0

Мне непонятно, куда входит сама веб-страница. Просьба уточнить. В идеале предоставить короткую, но полную программу ... –

+0

Здравствуйте! Я добавил информацию об этом в обновленное выше. Спасибо – OrElse

ответ

13

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

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

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

0

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

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

5

Похоже, вы ошибетесь.

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

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

0

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

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

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

4

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

Rock Solid HTML Emails

Guide to CSS support in email clients

+0

thenk you!, Очень полезные ресурсы. – Bhimbim

Смежные вопросы