Стандартный способ обнаружения мобильного почтового клиента? - PullRequest
13 голосов
/ 15 марта 2011

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

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

Ответы [ 4 ]

17 голосов
/ 18 марта 2011

Вы можете попробовать применить @ media css запросы , предназначенные для определенных браузеров, таких как мобильные устройства.На справочном веб-сайте есть хорошее введение , но имейте в виду, что оно, вероятно, поддерживается только в наборе браузеров и устройств, к тому же iOS работает на них:)

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

@media only screen and (max-device-width: 480px) { ... }

Когда речь идет об обнаружении и отображении совершенно другой электронной почты, это действительно невозможно, поскольку вы говорите о JavaScriptтам, и это не сделано в электронных письмах и, вероятно, не будет работать даже в 99% всех почтовых клиентов.Но вы можете пойти по пути запросов @media.

2 голосов
/ 20 марта 2011

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

Вот пример: http://stylecampaign.com/blog/?p=85

Примечание. Написание разметки для электронной почты - это совсем не то, что браузер. Вот несколько руководств, на которые стоит обратить внимание:

http://articles.sitepoint.com/article/code-html-email-newsletters/

http://www.mailchimp.com/resources/guides/email-marketing-field-guide/

1 голос
/ 24 марта 2011

Если вам нужен CSS, специально предназначенный для мобильных браузеров, вы можете попробовать следующий код:

<link rel="stylesheet" type="text/css" href="desktop.css" media="screen" />
<link rel="stylesheet" type="text/css" href="handheld.css" media="handheld" />

Теги HEAD часто удаляются почтовыми клиентами, поэтому предпочтительны встроенные стили.Но если вы ссылаетесь на CSS внутри тегов BODY, это должно сработать.

0 голосов
/ 24 марта 2011

Когда вы говорите «почтовый клиент», вы имеете в виду настоящий почтовый клиент, который использует ActiveSync, IMAP или POP-доступ?Тогда вам нужно знать, есть ли какая-либо информация по каждому протоколу, которая могла бы имитировать User-Agent из HTTP, чего, к сожалению, нет в IMAP или POP3 AFAIK.Через Active-Sync, будучи HTTP, вы имеете User-Agent и можете настраивать ответы так, как вы - например, сначала устройство запрашивает текстовую версию (например, строки предварительного просмотра в представлении списка), а затем запрашиваетвся версия MIME (возможно, HTML).На этом этапе сервер может настроить mime электронной почты и вернуть оптимизированную версию (например, настроить разметку, преобразовать или изменить размер вложений и т. Д.)

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