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

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

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

Ответ 1

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

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

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

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

Ответ 2

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

Вот пример: 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/

Ответ 3

Если вы хотите, чтобы 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, он должен работать.

Ответ 4

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