Написание электронных HTML писем

Электронные HTML письма - это хороший способ держать пользователей в курсе последних событий, касающихся вашего бизнеса или продукции. Однако во время создания html писем возникают трудности. В почтовых клиентах нет поддержки сторонних CSS. В результате приходится прибегать к "древним" техникам, таким как использование таблиц и встроенным таблицам стилей. Сегодня я ознакомлю вас с процессом создания простых электронных HTML писем.

Введение

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

Проблема: Почтовые клиенты

Вы думаете IE - самая большая проблема? Что же будет после того, как вы столкнетесь с Outlook 2007? Из-за значительных отличий в передаче HTML/CSS между почтовыми клиентами современные техники программирования станут результатом полного беспорядка у большинства популярных почтовых клиентов. Просто почтовые клиенты не передают HTML так как это делают браузеры. В данном случае не сработают свойство float, свойство фонового изображения и даже отступов. Так что же делать программисту, привыкшему придерживаться стандартов?

Решение: Программируйте как в 1997

Да-да. Таблицы. Cellpadding, cellspacing, colspan - все эти сложные вещи, о которых вы уже, наверное, забыли. Таблицы - единственный способ получить согласованный интерфейс письма. Так что пора забыть (временно) о ваших любимых CSS стилях и вспомнить о массивных таблицах.

Шаг 1: Дизайн

Простота

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

Минимизируйте использование изображений

Не слишком фантазируйте с дизайном писем, так как Outlook не поддерживает фоновые изображения. По существу, вам хотелось бы избежать волокиты с Фотошопом и сделать дизайн практичным. Несмотря на это, использование Фотошопа остаётся в наших планах.

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

Чем Уже, тем лУчше

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

Сохраняйте пропорции

Помните, что нам понадобится использовать такие неудобные атрибуты как cellpadding и cellspacing для установки отступов между элементами. Благоразумно пытаться сохранять пропорции отступов между элементами.

Наш дизайн

Данный дизайн похож на тот, который я когда-то использовал, но упрощенный. Он не привлекателен, но это здесь не важно. Он прост и пропорционален, включает много элементов, так что вы сможете пронаблюдать, как они отличаются в различных клиентах.

Шаг 2: План

По моему опыту, программировать электронные HTML письма очень сложно, но быстро. Важно иметь заранее подготовленный план. И вот этот план (мы к этому вернемся, так что не переживайте, если не следите за ходом работы).

Во-первых, начнем с создания таблицы со 100% шириной и серым фоном. Это наша основная таблица.

Затем, заметьте, у нас еще три таблицы в основной: одна вверху для ссылки просмотра в браузере, одна по центру для основного содержимого письма и внизу для ссылки отмены подписки.

Наконец, в главной таблице каждая горизонтальная часть текста будет расположена в ячейке таблицы. Такие ячейки, в свою очередь, будут содержать другие таблицы для каждого раздела текста.

Отступы внутри и снаружи ячеек

Вместо использования CSS свойств margin и padding мы будем использовать атрибуты HTML cellpadding и cellspacing. Cellpadding - почти то же самое, что и padding в CSS - отступы от содержимого до рамки. Cellspacing - этоотступы между ячейками таблицы.

Cellspacing таблицы с идентификатором #main будет равен 15 пикселям, так что у нас будет 15-пиксельный отступ вокруг всего общего контента и такой же отступ между всеми колонками. Эти cellpadding и cellspacing относятся только к главной таблице, не к дочерним. Если мы не хотим применять ни cellpadding, ни cellspacing, необходимо определить это для каждой таблицы.

Шаг 3: Написание кода

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

Создаем скелет

HTML-код письма будет очень прост: нам нужны три главных тега html, head и body. Давайте создадим базовую таблицу и три внутренние таблицы, о которых мы ранее говорили.

Есть несколько способов описания тега DOCTYPE. Однако в данном случае, мы исключим его вообще, так как его описание нам ничего не даст.

01 <html
02  
03 <head
04  
05     <meta http-equiv="Content-Type"content="text/html; charset=utf-8"
06  
07     <title>Ruseller Email Newslettertitle
08  
09 head
10  
11    
12  
13 <body
14  
15    
16  
17 <table width="100%" cellpadding="0"cellspacing="0" bgcolor="e4e4e4"><tr><td
18  
19    
20  
21 <table id="top-message" cellpadding="20"cellspacing="0" width="600" align="center"
22  
23     table> 
24  
25    
26  
27     <table id="main" cellpadding="0"cellspacing="15" bgcolor="ffffff" width="600"align="center"
28  
29     table> 
30  
31    
32  
33     <table id="bottom-message" cellpadding="20"cellspacing="0" width="600" align="center"
34  
35     table> 
36  
37    
38  
39 tr>td>table> 
40  
41    
42  
43 body
44  
45    
46  
47 html>

Заметьте, что у двух таблиц cellpadding="20". Это отделит их от основного содержимого. Отступы главной таблицы равны 15 пикселей. Это делается для того, чтобы установить упорядоченность по вертикали. В связи с тем, что каждый раздел находится в своей отдельной ячейке, то между ними будет отступ в 15 пикселей.

Заметьте также, что у всех таблиц задан атрибут align со значением "center", а ширина таблиц задана явно (600 пикселей). В электронных HTML письмах лучше не указывать ширину основной таблицы явно. Лучше устанавливать размеры каждой ячейки, но у нас есть отступы, так что можно об этом не беспокоиться.

Таблицы с заголовками

Эти таблицы очень просты: в них всего лишь описаны параграфы в ячейках, выровненных по центру.

01 <table id="top-message" cellpadding="20"cellspacing="0" width="600" align="center"
02  
03     <tr
04  
05         <td align="center"
06  
07             <p>Проблемы с отображением письма?<a href="#">Просмотрите его в браузере.a>p
08  
09         td
10  
11     tr
12  
13 table>

Вторая таблица выглядит абсолютно так же.

Заголовок

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

01 <tr
02  
03     <td
04  
05         <table id="header" cellpadding="10"cellspacing="0" align="center"
06  
07             <tr
08  
09                 <td width="570"bgcolor="7aa7e9"><h1>Наши услугиh1>td
10  
11             tr
12  
13             <tr
14  
15                 <td width="570"bgcolor="8fb3e9"><h2>Новости и Событияh2>td
16  
17             tr
18  
19             <tr
20  
21                 <td width="570" align="right"bgcolor="7aa7e9"><p>July 2010p>td
22  
23             tr
24  
25         table> 
26  
27     td
28  
29 tr>

Не забудьте указать ширину каждой ячейки, равную 570 пикселей (600 - 15 пикселей отступов с обеих сторон). Мы также выравниваем дату по правому краю. Фоновое изображение добавим позже. А пока в качестве фона будет бледно-голубой цвет.

Заметьте, мы используем атрибут bgcolor вместо style="background: ". Это все потому что html атрибуты воспринимаются в электронных письмах лучше, нежели CSS свойства.

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

Основное содержимое - 2 колонки

Первая часть нашего контента - это изображение, выровненное по левому краю, с двумя заголовками вверху. Мы не будем использовать CSS свойства float, а создадим таблицу с тремя ячейками:

  • одной для изображения,

  • одной для отступа между изображением и заголовками,

  • и одну для самих заголовков.

Для изображения с рамкой, мы создадим еще одну таблицу в ячейке с отступом 5 пикселей и серым фоновым цветом. Отступ увеличивает ширину элемента, поэтому необходимо уменьшить ширину ячейки на 10 пикселей.

01 <tr
02  
03     <td>td
04  
05 tr
06  
07 <tr
08  
09     <td
10  
11         <table id="content-1" cellpadding="0"cellspacing="0" align="center"
12  
13             <tr
14  
15                 <td width="170" valign="top"
16  
17                     <table cellpadding="5"cellspacing="0"
18  
19                         <tr
20  
21                             <tdbgcolor="d0d0d0"><imgsrc="http://dummyimage.com/170x120/e9e9e9/fff"/>td
22  
23                         tr
24  
25                     table
26  
27                 td
28  
29                 <td width="15">td
30  
31                 <td width="375" valign="top"colspan="3"
32  
33                     <h3>Новый дизайн сайта!h3
34  
35                     <h4>На 150% Лучше и на 40% Эффективнее!h4
36  
37                 td
38  
39             tr
40  
41         table> 
42  
43     td
44  
45 tr>

Примечание:

  • Мы добавили пустую строку и ячейку в таблице. Так как у ячеек есть отступы, мы можем добавлять пустые ячейки, чтобы делать отступы в 15 пикселей между элементами. По моему опыту, это работает, но для полной уверенности можете добавить сущность  .

  • Атрибуту valign даем значение "top". Это важно, так как располагает каждую ячейку в верхней части строки. Значение по умолчанию - middle, что приводит к непредсказуемым результатам.

  • Используем изображения от dummyimage.com, так как все изображения, используемые в электронных письмах, должны быть выложены в сеть (подробнее бо этом позже), и намного проще использовать генерируемые изображения. Просмотрите сайт, там объясняется, как задать картинке необходимый URL.

Основное содержимое - 1 колонка

Это очень простая часть: таблица из одной колонки с одним абзацем. Не забудьте задать ширину ячейки и выровнять таблицу по центру.

01 <tr
02  
03     <td
04  
05         <table id="content-2" cellpadding="0"cellspacing="0" align="center"
06  
07             <tr
08  
09                 <td width="570"><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.p>td
10  
11             tr
12  
13         table> 
14  
15     td
16  
17 tr>

Разделители

Для того чтобы добавить отступы по вертикали (помимо 15 пикселей, которые у нас уже есть), необходимо использовать изображения. Вспомним 90-ые! Можно подгрузить изображение gif, но на данный момент быстрее использовать одно из иображений от dummyimage.com. Я оставлю его серым, но в последствии можно сделать его белым.

1 <tr
2  
3     <td height="30"><imgsrc="http://dummyimage.com/570x30/e9e9e9/fff"/>td
4  
5 tr>

В результате получаем что-то вроде этого:

Основное содержимое - 3 колонки

Для этой части используем таблицу из 5 ячеек: три на колонки и две в качестве разделителей между ними.

01 <tr
02  
03     <td
04  
05         <table id="content-3" cellpadding="0"cellspacing="0" align="center"
06  
07             <tr
08  
09                 <td width="180" valign="top"
10  
11                     <table cellpadding="5"cellspacing="0"
12  
13                         <tr
14  
15                             <tdbgcolor="d0d0d0"><imgsrc="http://dummyimage.com/170x120/e9e9e9/fff"/>td
16  
17                         tr
18  
19                     table
20  
21                 td
22  
23                 <td width="15">td
24  
25                 <td width="180" valign="top"
26  
27                     <table cellpadding="5"cellspacing="0"
28  
29                         <tr
30  
31                             <tdbgcolor="d0d0d0"><imgsrc="http://dummyimage.com/170x120/e9e9e9/fff"/>td
32  
33                         tr
34  
35                     table
36  
37                 td
38  
39                 <td width="15">td
40  
41                 <td width="180" valign="top"
42  
43                     <table cellpadding="5"cellspacing="0"
44  
45                         <tr
46  
47                             <tdbgcolor="d0d0d0"><imgsrc="http://dummyimage.com/170x120/e9e9e9/fff"/>td
48  
49                         tr
50  
51                     table
52  
53                 td
54  
55             tr
56  
57         table> 
58  
59     td
60  
61 tr>

Достаточно просто. Для границ примените тот же метод, что в части из 2 колонок. Не забывайте про valign!

Повторите то же самое и для текста.

01 <tr
02  
03     <td
04  
05         <table id="content-4" cellpadding="0"cellspacing="0" align="center"
06  
07             <tr
08  
09                 <td width="180" valign="top"
10  
11                     <h5>Новые продукты!h5
12  
13                     <p> Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.                                   Duis aute irure dolor in reprehenderit in voluptate velit esse cillump
14  
15                 td
16  
17                 <td width="15">td
18  
19                 <td width="180" valign="top"
20  
21                     <h5>Письмо каждый месяцh5
22  
23                     <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia 
24  
25                         deserunt mollit anim id est laborum.p
26  
27                 td
28  
29                 <td width="15">td
30  
31                 <td width="180" valign="top"
32  
33                     <h5>Новый Улучшенный Форумh5
34  
35                     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
36  
37                         sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.p
38  
39                 td
40  
41             tr
42  
43         table> 
44  
45     td
46  
47 tr>

Добавьте еще один разделитель в нижней части, и на этом почти всё:

Осталось совсем немного...

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

01 <tr
02  
03     <td
04  
05         <table id="content-5" cellpadding="0"cellspacing="0" align="center"
06  
07             <tr
08  
09                 <td width="267" valign="top"
10  
11                     <table cellpadding="5"cellspacing="0" bgcolor="d0d0d0"><tr><td
12  
13                         <imgsrc="http://dummyimage.com/267x200/e9e9e9/fff"/> 
14  
15                     td>tr>table
16  
17                 td
18  
19                 <td width="15">td
20  
21                 <td width="278" valign="top"
22  
23                     <h4>Это шапкаh4
24  
25                     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.p
26  
27                 td
28  
29             tr
30  
31         table> 
32  
33     td
34  
35 tr> 
36  
37 <tr
38  
39     <td height="30"><imgsrc="http://dummyimage.com/570x30/e9e9e9/fff"/>td
40  
41 tr
42  
43 <tr
44  
45     <td
46  
47         <table id="content-6" cellpadding="0"cellspacing="0" align="center"
48  
49             <p align="center">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. p
50  
51             <p align="center"><a href="#">CALL TO ACTIONa>p
52  
53         table
54  
55     td
56  
57 tr>

Работа над основной частью на этом завершается.

Пару слов об изображениях

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

Шаг 4: Оформление письма

Мы не можем подключить стили CSS и не можем описать стили в теге head в письме, потому что некоторые почтовые клиенты игнорируют его или только тег style. Мы будем использовать встроенные стили, хотя это и очень громоздко. К счастью, есть некоторые сервисы, которые встраивают стиль в html код. Я пользуюсь услугой сайта Premailer, которая делает это за меня.

Мы напишем CSS стили отдельно, а затем воспользуемся premailer-ом.

Сброс основных значений по умолчанию

Мы не будем сбрасывать значения с помощью селектора *, как вы бы сделали для сайта. Использование значений по умолчанию в действительности приведет к более согласованному результату. Единственными элементами, для которых необходимо будет сбросить значения внутренних и внешних отступов (padding и margin), являются те, которым мы добавили отступы с помощью cellpadding и cellspacing, например, заголовки и абзацы.

Обратите внимание также на внешние отступы у главной таблицы, являющихся всего лишь стилем по умолчанию тега body.

1 <style type="text/css"
2  
3     body, #header h1, #header h2, p {margin: 0; padding: 0;} 
4  
5 style>

Оформление текста

Текст электронного письма не требует сложного оформления. Оформление текста письма подобно оформлению текста любой веб-страницы. Не используйте сокращений (типа "font: "), так как результаты будут неоднозначными.

01 #top-message p, #bottom-message p {color:#3f4042font-size12pxfont-familyArial,Helveticasans-serif; } 
02  
03 #header h1 {color#fffffffont-family:"Lucida Grande""Lucida Sans""Lucida Sans Unicode"sans-seriffont-size24px; } 
04  
05 #header h2 {color#fffffffont-familyArial,Helveticasans-seriffont-size24px; } 
06  
07 #header p {color#fffffffont-family"Lucida Grande""Lucida Sans""Lucida Sans Unicode",sans-seriffont-size12px;  } 
08  
09 h3 {font-size28pxcolor#444444font-familyArialHelveticasans-serif; } 
10  
11 h4 {font-size22pxcolor#4A72AFfont-familyArialHelveticasans-serif; } 
12  
13 h5 {font-size18pxcolor#444444font-familyArialHelveticasans-serif; } 
14  
15 p {font-size12pxcolor#444444font-family"Lucida Grande""Lucida Sans""Lucida Sans Unicode"sans-serifline-height1.5;} 
16  
17 h1, h2, h3, h4, h5, h6 {margin0 0 0.8em 0;}

Смотрите, теперь письмо выглядит намного привлекательнее!

Фоновые изображения

Работа с фоновыми изображениями осуществляется практически так же, как и в случае с веб-страницами, кроме того, что иногда они не отображаются! Убедитесь в том, что у вас есть запасной цвет, который является фоном ячеек (через bgcolor). Для почтовых клиентов, не поддерживающих CSS, сработает отображение именно этого фона.

1 <td style="background: url(http://tessat.s3.amazonaws.com/email-bg.jpg); " width="570" bgcolor="8fb3e9:>
2  
3 <h2>Новости и Событияh2>td>

Другие стили

Необходимо задать стиль каждой ссылке, в противном случае, она примет стиль, заданный по умолчанию почтового клиента. А также добавим рамку главной таблице. Еще добавим атрибут display:block каждому изображению, это исключит дефект, возникающий в Outlook и Hotmail.

1 #main {border1px solid #cfcece;} 
2  
3 img {displayblock;} 
4  
5 a {color#4A72AF;}

Мы закончили. Приступим к тестированию!

Шаг 5: Тестирование

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

Почтовые клиенты

Вы должны протестировать свою работу хотя бы на этих почтовых сервисах:

  • Outlook 2003/2007

  • Hotmail

  • Yahoo! Mail

  • Gmail

  • Apple Mail

  • Thunderbird

Как тестировать?

Сперва необходимо найти способ отправить HTML письмо. Ваш заказчик скорее всего использует такой сервис как Mailchimp или Campaign Monitor, осуществляющий рассылку.

Вы возможно подумали, что я усложняю работу, ведь некоторые почтовые клиенты позволяют вставку HTML-кода. Тем не менее это может привести к непредсказуемым результатам в случае использования приложений, осуществляющих рассылку. Протестируйте письмо на таком приложении, чтобы быть уверенным, что все работает корректно.

Тестирование с помощью Mailchimp

  • Мне нравится использовать Mailchimp для тестирования и отправки тестовых рекламных писем. С Mailchimp можно бесплатно отправить письма 500 раз, так что вам не придется оплачивать тестирование. В нем очень простой и легкий интерфейс. Вот краткое пошаговое описание тестирования:

  • Подпишитесь на бесплатный аккаунт Mailchimp и создайте список необходимых почтовых клиентов: Hotmail, Yahoo! и Gmail. Затем зайдите в свой аккаунт. Выберите пункт create a campaign (создать рассылку), а затем regular ol" campaign на главной странице. Заполните необходимую информацию о рассылке. Для тестирования достаточно ввести название.

  • На странице design выберите Import -> Paste in code, а затем отметьте пункт Automatic CSS Inliner.

  • Если вы не используете Mailchimp, убедитесь в том, что у вас встроенный CSS стиль.

  • Продолжайте до тех пор, пока не дойдете до страницыconfirm, где отметьте send test. Вы можете отправить несколько тестовых рассылок отсюда, но после этого вам необходимо будет отправить электронные письма всему созданному списку.

Тестирование с помощью Litmus

Litmus - это веб-приложение, тестирующее HTML письма во всех почтовых клиентах любой версии. Полная версия сервиса платная, и если ваш заказчик отказывается оплачивать эту услугу, вы можете протестировать бесплатно старую версию Gmail и Outlook 2003, которые все еще используются.

Хорошие результаты

Некоторые тесты показали довольно-таки хорошие результаты:

Apple Mail

Thunderbird

Не очень хорошие результаты

Некоторые результаты не вызывают восхищения, но есть и неплохие:

Gmail (safari)

Outloook 2007

Outlook 2003

Yahoo! Mail

Плохие результаты

Есть и ошибки:

Hotmail (Зелёный???)

Old Gmail (explorer)

Исправление ошибок

В общем, тестирование прошло успешно, так как я проводил промежуточные тесты в Gmail и Outlook по ходу работы. Проблемы, возникшие в старой версии Gmail и Hotmail, связаны со стандартными стилями этих почтовых клиентов. Специальный уникальный брэнд от Microsoft устанавливает по умолчанию свой стиль для всех заголовков, окрашивая текст в зеленый цвет, с помощью обозначения !important. Иногда я почти уверен в том, что они хотят свести меня с ума.

Чтобы это исправить, нужно добавить !important ко всем стилям заголовков:

1 h3 {font-size28pxcolor#444444 !important;font-familyArialHelveticasans-serif; } 
2  
3 h4 {font-size22pxcolor#4A72AF !important;font-familyArialHelveticasans-serif; }
4  
5 h5 {font-size18pxcolor#444444 !important;font-familyArialHelveticasans-serif; }

В старой версии Gmail возникает подобная проблема в заголовке: Gmail добавляет дополнительный отступ всем заголовкам. Нам всего лишь необходимо дополнительно описать стиль для верхнего отступа заголовков:

1 #header h1 {color#ffffff !importantfont-family"Lucida Grande""Lucida Sans""Lucida Sans Unicode"sans-seriffont-size24px;margin-bottom0!important; } 
2  
3 #header h2 {color#ffffff !importantfont-familyArialHelveticasans-seriffont-size24pxmargin-bottom0 !important}

Вот мы и решили проблему с Hotmail:

Мы получили функциональное, согласованное (правда, простое) электронное HTML письмо. Да, это нудно, но после первого разработанного письма, процесс пойдет намного быстрее. Постарайтесь писать комментарии к коду и хорошо его организовать, чтобы можно было в последствии использовать его части повторно.

Если вам удасться уговорить заказчика подписаться на Litmus, это облегчит работу. Вы также можете проводить тестирования многих почтовых клиентов с помощью платной версии Mailchimp и Campaign monitor.

Устранение неполадок

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

Считайте правильно: я очень много раз портил весь общий вид из-за того, что неправильно подсчитывал ширину ячеек таблицы. Не забывайте про отступы внутри ячеек: они увеличивают ширину всей ячейки.

Проверяйте стандартные стили: используйте что-то вроде Firebug или Webkit Inspector, чтобы проверять, не перекрывает ли почтовый клиент ваши стили. Если это происходит, добавление обозначения !important решит проблему.

Ищите решения проблем: всегда есть шанс, что кто-то уже решил проблему, с которой вы столкнулись. Если Google не помог, покопайтесь в блогах популярных сервисов рассылки писем. Ведь некоторые люди зарабатывают этим деньги, так что они свою работу знают!

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

Результат

Вот конечный вариант кода:

001 <html
002  
003 <head
004  
005    <meta http-equiv="Content-Type"content="text/html; charset=utf-8"
006  
007    <title>Ruseller Email Newslettertitle
008  
009    <style type="text/css"
010  
011     a {color: #4A72AF;} 
012  
013     body, #header h1, #header h2, p {margin: 0; padding: 0;} 
014  
015     #main {border: 1px solid #cfcece;} 
016  
017     img {display: block;} 
018  
019     #top-message p, #bottom-message p {color: #3f4042; font-size: 12px; font-family: Arial, Helvetica, sans-serif; } 
020  
021     #header h1 {color: #ffffff !important; font-family: "Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", sans-serif; font-size: 24px; margin-bottom: 0!important; padding-bottom: 0; } 
022  
023     #header h2 {color: #ffffff !important; font-family: Arial, Helvetica, sans-serif; font-size: 24px; margin-bottom: 0 !important; padding-bottom: 0; } 
024  
025     #header p {color: #ffffff !important; font-family: "Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", sans-serif; font-size: 12px;  } 
026  
027     h1, h2, h3, h4, h5, h6 {margin: 0 0 0.8em 0;} 
028  
029     h3 {font-size: 28px; color: #444444 !important; font-family: Arial, Helvetica, sans-serif; } 
030  
031     h4 {font-size: 22px; color: #4A72AF !important; font-family: Arial, Helvetica, sans-serif; } 
032  
033     h5 {font-size: 18px; color: #444444 !important; font-family: Arial, Helvetica, sans-serif; } 
034  
035     p {font-size: 12px; color: #444444 !important; font-family: "Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", sans-serif; line-height: 1.5;} 
036  
037    style
038  
039 head
040  
041    
042  
043 <body
044  
045    
046  
047 <table width="100%" cellpadding="0"cellspacing="0" bgcolor="e4e4e4"><tr><td
048  
049    
050  
051 <table id="top-message" cellpadding="20"cellspacing="0" width="600" align="center"
052  
053         <tr
054  
055             <td align="center"
056  
057                 <p>Trouble viewing this email? <a href="#">View in Browsera>p
058  
059             td
060  
061         tr
062  
063     table> 
064  
065    
066  
067 <table id="main" width="600" align="center"cellpadding="0" cellspacing="15"bgcolor="ffffff"
068  
069         <tr
070  
071             <td
072  
073                 <table id="header"cellpadding="10" cellspacing="0" align="center"bgcolor="8fb3e9"
074  
075                     <tr
076  
077                         <td width="570"bgcolor="7aa7e9"><h1>Communitech Venture Servicesh1>td
078  
079                     tr
080  
081                     <tr
082  
083                         <td width="570"bgcolor="8fb3e9" style="background: url(http://tessat.s3.amazonaws.com/email-bg.jpg);"><h2style="color:#ffffff!important">News and Eventsh2>td
084  
085                     tr
086  
087                     <tr
088  
089                         <td width="570"align="right" bgcolor="7aa7e9"><p>July 2010p>td
090  
091                     tr
092  
093                 table> 
094  
095             td
096  
097         tr> 
098  
099    
100  
101         <tr
102  
103             <td>td
104  
105         tr
106  
107         <tr
108  
109             <td
110  
111                 <table id="content-1"cellpadding="0" cellspacing="0"align="center"
112  
113                     <tr
114  
115                         <td width="170"valign="top"
116  
117                             <tablecellpadding="5" cellspacing="0"
118  
119                                 <tr><tdbgcolor="d0d0d0"><imgsrc="http://tessat.s3.amazonaws.com/coins_small.jpg"width="170" />td>tr>table
120  
121                         td
122  
123                         <td width="15">td
124  
125                         <td width="375"valign="top" colspan="3"
126  
127                             <h3>All New Site Designh3
128  
129                             <h4>It's 150% Better and 40% More Efficient!h4
130  
131                         td
132  
133                     tr
134  
135                 table> 
136  
137             td
138  
139         tr> 
140  
141         <tr
142  
143             <td
144  
145                 <table id="content-2"cellpadding="0" cellspacing="0"align="center"
146  
147                     <tr
148  
149                         <td width="570"><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.p>td
150  
151                     tr
152  
153                 table> 
154  
155             td
156  
157         tr> 
158  
159         <tr
160  
161             <td height="30"><imgsrc="http://dummyimage.com/570x30/fff/fff" />td
162  
163         tr
164  
165         <tr
166  
167             <td
168  
169                 <table id="content-3"cellpadding="0" cellspacing="0"align="center"
170  
171                     <tr
172  
173                         <td width="170"valign="top" bgcolor="d0d0d0"style="padding:5px;"
174  
175                             <imgsrc="http://tessat.s3.amazonaws.com/crayons.jpg"width="170" /> 
176  
177                         td
178  
179                         <td width="15">td
180  
181                         <td width="170"valign="top" bgcolor="d0d0d0"style="padding:5px;"
182  
183                             <imgsrc="http://tessat.s3.amazonaws.com/handshake.jpg"/> 
184  
185                         td
186  
187                         <td width="15">td
188  
189                         <td width="170"valign="top" bgcolor="d0d0d0"style="padding:5px;"
190  
191                             <imgsrc="http://tessat.s3.amazonaws.com/moo02.jpg"/> 
192  
193                         td
194  
195                     tr
196  
197                 table> 
198  
199             td
200  
201         tr> 
202  
203         <tr
204  
205             <td
206  
207                 <table id="content-4"cellpadding="0" cellspacing="0"align="center"
208  
209                     <tr
210  
211                         <td width="180"valign="top"
212  
213                             <h5>Exciting New Products!h5
214  
215                             <p> Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.                                   Duis aute irure dolor in reprehenderit in voluptate velit esse cillump
216  
217                         td
218  
219                         <td width="15">td
220  
221                         <td width="180"valign="top"
222  
223                             <h5>A Newsletter Every Monthh5
224  
225                             <p>Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia 
226  
227                                 deserunt mollit anim id est laborum.p
228  
229                         td
230  
231                         <td width="15">td
232  
233                         <td width="180"valign="top"
234  
235                             <h5>New and Improved Forumh5
236  
237                             <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, 
238  
239                                 sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.p
240  
241                         td
242  
243                     tr
244  
245                 table> 
246  
247             td
248  
249         tr> 
250  
251         <tr
252  
253             <td height="30"><imgsrc="http://dummyimage.com/570x30/fff/fff" />td
254  
255         tr
256  
257         <tr
258  
259             <td
260  
261                 <table id="content-5"cellpadding="0" cellspacing="0"align="center"
262  
263                     <tr
264  
265                         <td width="267"valign="top"
266  
267                             <tablecellpadding="5" cellspacing="0"bgcolor="d0d0d0"><tr><td
268  
269                                 <imgsrc="http://tessat.s3.amazonaws.com/card18.jpg"/> 
270  
271                             td>tr>table
272  
273                         td
274  
275                         <td width="15">td
276  
277                         <td width="278"valign="top"
278  
279                             <h4>This is a headingh4
280  
281                             <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.p
282  
283                         td
284  
285                     tr
286  
287                 table> 
288  
289             td
290  
291         tr> 
292  
293         <tr
294  
295             <td height="30"><imgsrc="http://dummyimage.com/570x30/fff/fff" />td
296  
297         tr
298  
299         <tr
300  
301             <td
302  
303                 <table id="content-6"cellpadding="0" cellspacing="0"align="center"
304  
305                     <p align="center">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. p
306  
307                     <p align="center"><ahref="#">CALL TO ACTIONa>p
308  
309                 table
310  
311             td
312  
313         tr
314  
315    
316  
317     table> 
318  
319     <table id="bottom-message" cellpadding="20"cellspacing="0" width="600" align="center"
320  
321         <tr
322  
323             <td align="center"
324  
325                 <p>You are receiving this email because you signed up for updatesp
326  
327                 <p><a href="#">Unsubscribe instantlya> | <a href="#">Forward to a frienda> | <a href="#">View in Browsera>p
328  
329             td
330  
331         tr
332  
333     table> 
334  
335 td>tr>table> 
336  
337    
338  
339 body
340  
341 html>

Вот как выглядит наше письмо с реальными изображениями:

اموزش

Ничего особенного, но это должно дать вам представление о том, как разрабатывать электронные HTML письма. Конечно существует много способов сделать это по-другому, но самое главное, чтобы все работало корректно.

 

 

اینم لینک دانلود آمادش هست 

 

 

 

 

 

عکس دختران ایرانی کلیک کن