Html рассылка в gmail - PullRequest
       29

Html рассылка в gmail

1 голос
/ 16 сентября 2010

Я кодирую html рассылку и столкнулся со странной вещью в gmail.Код:

<table cellpadding="0" cellspacing="0" width="700" height="122">
                <tr>
                    <td valign="top" colspan="3" width="689" height="8"><img src="http://www.url.com/img/product_top_border.gif"></td>
                </tr>
                <tr>                    
                    <td valign="top" width="12" height="106"><img src="http://www.url.com/img/product_left_border.gif"></td>
                    <td valign="top" height="106" width="689">
                        some content
                    </td>
                    <td valign="top" width="12" height="106"><img src="http://www.url.com/img/product_right_border.gif"></td>
                </tr>
                <tr>
                    <td valign="top" colspan="3" width="689" height="8"><img src="http://www.url.com/img/product_bot_border.gif"></td>
                </tr>
            </table>

Снимок экрана Gmail:

gmail

Снимок экрана с других почтовых клиентов:

In other email clients

Есть намеки?

Буду признателен за вашу помощь.

Ответы [ 2 ]

4 голосов
/ 16 сентября 2010

Это проблема браузера.Когда вы помещаете изображение в таблицу, изображение должно быть встроенным элементом, расположенным в текстовой строке.Это означает, что под ним будет место (для частей строки текста, которые идут ниже базовой линии, т. Е. Спусков), и рендеринг GMail будет «правильным».

Однако в режиме Quirks , а также режим «почти стандарт», изображение, находящееся в ячейке отдельно, ведет себя как блок, а не как встроенный элемент, поэтому оно не получает дополнительного интервала.Похоже, что «другой» клиент находится в режиме Quirks, так как он сбросил размер шрифта внутри таблицы (типичная ошибка режима Quirks).

Обычно вы хотите избежать режима Quirks любой ценой, поэтому выиспользовать стандартный режим и устранить проблему img-in-table, задав CSS display: block или vertical-align: -anything-but-baseline для элементов <img>, или, что лучше, выгрузить некрасивую таблицу макетов и использоватьнекоторые фоновые изображения вместо.Однако, конечно, в контексте электронной почты ваши возможности для стиля строго ограничены.

Так что, да, попробуйте установить style="display: block" на изображениях, чтобы они отображались в Quirks vs Standards, если хотите,но знайте, что это наименьшая из ваших проблем при работе с почтой HTML.Вы столкнетесь с гораздо, гораздо худшими поломками, чем это.HTML электронная почта полностью отстой на каждом уровне;если у вас есть шанс выйти из нее, просто отправив ссылку на соответствующую веб-страницу, сделайте это.

0 голосов
/ 16 сентября 2010

Что касается смены шрифтов, то кажется, что «другой клиент» может показывать тело, отличное от HTML, и я думаю, что gmail поддерживает HTML по умолчанию.

Вы установили для content-data значениебыть HTML?Например, в c # вам может потребоваться установить:

MailMessage mail = new MailMessage();
mail.IsBodyHtml = true;
...