Содержание

Как отправить html-письмо через Mail.ru

Дата публикации: 5 сентября 2016

Чтобы отправить html-письмо через Mail.ru нужно проявить немного смекалки. Мы самостоятельно разобрались в том, как это сделать и подготовили подробную пошаговую инструкцию.

Шаг 1. Подготовка письма

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

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

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

Шаг 2. Вставка письма в Mail.

ru

Зайдите в свой почтовый ящик на сайте и создайте новое письмо. Убедитесь, что у вас включено оформление письма. У вас должна отображаться показанная ниже панель.

Нажмите правой кнопкой мыши на поле для ввода текста письма и выберите “просмотреть код” (В каждом браузере этот пункт называется по-своему, но смысл сохраняется). Откроется панель редактирования кода страницы. (Панель может отличаться визуально в зависимости от вашего браузера. Мы показываем на примере Google Chrome).

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

Именно этот блок отвечает за наполнение письма и нам нужно вместо него вставить наш шаблон. Для этого щелкните правой кнопкой мыши по блоку и нажмите “Edit as HTML”.

Далее нам нужно удалить весь находящийся там код…

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

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

Шаг 3. Отправка html-письма

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

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

Настройте почту — Начиная работу

Вы можете подключить любую почту к amoCRM, если у нее есть поддержка популярного протокола IMAP. Давайте перейдем в раздел почта и кликнем на кнопку «ещё» в правом верхнем углу. Теперь вы просто указываете свой email адрес, разрешаете доступ, и переходите на настройки интеграции с почтой.

Если ваш почтовый ящик расположен на одном из популярных сервисов, вроде Яндекс Почта, Mail.ru или Gmail, то вам не понадобится даже вводить настройки.

В другом случае вам нужно ввести информацию о IMAP, SMTP серверах и портах. Узнать данные настройки вы можете у своего провайдера.

В amoCRM есть возможность настроить почтовый ящик следующими способами:

  • персональный
  • корпоративный

Можно подключить почтовый ящик вроде info или sales, куда “падают” заявки с сайта, как корпоративный, чтобы менеджеры могли работать с заявками с почты. Вы можете подключить корпоративную почту сотрудников отдела продаж для того, чтобы вся их переписка с клиентом оставалась в истории работы с ним.

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

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

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

Вы также можете отправлять заранее заготовленные шаблоны писем из amoCRM. Для этого необходимо создать шаблон. Нажимаем в разделе почта на кнопку «еще» и создаем шаблон через «добавить шаблон». Вводим его название, тему письма и текст. Вы также можете использовать в письме имя контакта, имя пользователя и его телефон. Обратите внимание, создавать шаблоны может только администратор. Если вы хотите отправить шаблон с использованием стилей и изображениями, вы можете использовать html.

Достаточно вставить код html и поставить галочку отправлять письмо с разметкой.

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

Нажимаем отправить и вот письмо уже отправилось. Оно сохранилось в карточке, вы можете нажать на него и посмотреть.

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

Инструкция по API » Сервис email рассылки писем. Емейл маркетинг.

Данный документ содержит сведения о программном интерфейсе сервиса email рассылок (далее — «API»). Через API внешние приложения получают доступ к системе управлению списками получателей, отправке одиночных email сообщений, рассылок, а также прочий функционал для работы со списками получателей и статистикой рассылок

Базовый URL

Базовый URL для всех запросов

https://api.

mailopost.ru/v1

Альтернативный базовый URL для всех запросов

https://api-reserve.msndr.net/v1

Используйте альтернативный URL в случае, когда ваш IP заблокирован или имеет ограничения со стороны РКН.

Аутентификация

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

Authorization: Bearer $API_TOKEN

Ключ для доступа к API можно получить в личном кабинете.

Держите Ваш ключ для доступа к API в секрете.

Формат обмена данных

Для обмена данными используется формат JSON, поэтому, в каждом запросе должен присутствовать заголовок

Content-Type: application/json

Все данные от сервера возвращаются так же, в формате JSON.

Получение списков данных (Collection)

Списки данных (Collection) — постраничный способ выдачи данных, используемый в некоторых методах. Для управления страницами выдачи списка данных в заголовках запроса необходимо передавать параметры pagenumber и pagesize:

Пример запроса

curl -X GET https://api.mailopost.ru/v1/email/lists?page_number=2&page_size=3 \
     -H 'Content-Type: application/json'         \
     -H 'Authorization: Bearer $API_TOKEN'
Поддерживаемые параметры
ПараметрОписание
page_numberНомер запрашиваемой страницы. По умолчанию: 1
page_sizeКоличество записей на странице. По умолчанию: 25

Если параметр page_size превышает максимально допустимый размер, то сервер ответит ошибкой со статусом 412:

  {
    "errors": [
      {
        "code": 412,
        "detail": "Page size is too big. Max value is 100"
      }
    ]
  }

По умолчанию максимальный page_size равняется 100, если в описании конкретного метода не указано другое.

При выполнении запроса с использованием списка данных ответ будет возвращен в виде структуры:

Пример ответа со списком данных (Collection)

  {
    "total_count":23,
    "total_pages":7,
    "page_number":2,
    "page_size":3,
    "collection":[
      {
        "id":1,
        "title":"My Recipients"
      },
      {
        "id":2,
        "title":"My Recipients #2"
      },
      {
        "id":3,
        "title":"My Recipients #3"
      }
    ]
  }
КлючОписание
total_countОбщее количество элементов «collection»
total_pagesКоличество страниц
page_numberНомер текущей страницы
page_sizeКоличество записей на странице
collectionМассив возвращаемых данных
Обработка ответа

Обработка ответа может осуществляться при проверки кода состояния HTTP запроса. Так же в случае неуспешного выполнения запроса, ответ содержит массив данных c описанием ошибок в формате JSON.

Пример ответа с ошибками

{
  "errors":[
    {
      "code":400,
      "detail":"subject is empty"
    }
  ]
}

Коды ответов

КодОписание
2xxЗапрос успешно выполнен
400Неверные параметры
401Аутентификация не пройдена
402Недостаточно средств
404Ресурс не найден
415Неподдерживаемый тип данных
422Ресурс не может быть обработан
500Неизвестная ошибка

Для предотвращения отправки нежелательных писем (спам), отправляемых по API или SMTP, в системе предусмотрен механизм приостановки отправки сообщений. ]’. 220 smtp.msndr.net ESMTP service ready ehlo sender 250-smtp.msndr.net 250-STARTTLS 250-AUTH PLAIN LOGIN 250-PIPELINING 250 8BITMIME auth plain AHVzZXJAZXhhbXBsZS5vcmcAc29tZS1zdXBlci1wdXBlci1zZWNyZXQta2V5 550 Too many messages. Try again in 92 seconds. Connection closed by foreign host.

Пример запроса

curl -X GET https://api.mailopost.ru/v1/email/balance \
     -H 'Content-Type: application/json'      \
     -H 'Authorization: Bearer $API_TOKEN'

Пример ответа в случае успеха

{
  "tariff" : {
    "subscribers" : {
      "total" : 1000,
      "available" : 997
    },
    "credits" : 0,
    "expires_at" : 1629273060
  },
  "balance" : 12965.96
}

GET /email/balance

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
tariff. subscribers.totalИтоговое количество подписчиков
tariff.subscribers.availableДоступное количество подписчиков
creditsКоличество писем
expires_atВремя окончания действия тарифа (timestamp)
balanceСумма на балансе

Отправка одиночного email сообщения

Пример JSON для запроса

{
  "from_email":"[email protected]",
  "from_name": "Alice",
  "to": "[email protected]",
  "subject": "Hello",
  "text": "Hello, Bob!",
  "html": "<h2>Hello, Bob!</h2>",
  "payment": "credit",
  "smtp_headers": {
    "Client-Id": "123"
  }
}

Пример запроса

curl -X POST https://api.mailopost.ru/v1/email/messages \
     -H 'Content-Type: application/json'        \
     -H 'Authorization: Bearer $API_TOKEN'      \
     -d '...JSON...'

Пример ответа в случае успеха

{
  "id":1,
  "from_email":"alice@example. org",
  "from_name":"Alice",
  "to":"[email protected]",
  "subject":"Hello",
  "text":"Hello, Bob!",
  "html":"<h2>Hello, Bob!</h2>",
  "attachments": [],
  "status":"queued",
  "events": {
    "open": 1,
    "redirect": {
      "http://foo.com": 2,
      "http://bar.com": 3
    },
    "spam": 1,
    "unsubscribe": 1
  }
}

Пример запроса для отправки сообщения с вложениями

curl -X POST https://api.mailopost.ru/v1/email/messages \
     -H 'Authorization: Bearer $API_TOKEN'      \
     -F [email protected]             \
     -F [email protected]                       \
     -F subject='Mail with attachments'         \
     -F text='Hello world'                      \
     -F attachments[]=@/path/to/file1           \
     -F attachments[]=@/path/to/file2

POST /email/messages

Параметры запроса

ПараметрОписаниеОбязательный
from_emailДа
from_name
toДа
subjectДа
textДолжен присутствовать хотя бы один параметр: text или html
htmlДолжен присутствовать хотя бы один параметр: text или html
attachmentsМассив с вложениями. Поддерживается только для запросов с типом содержимого multipart/form-data
paymentСпособ тарификации сообщения. Возможные значения:
subscriber_priority
credit_priority
subscriber
credit
Значение по умолчанию: subscriber_priority
smtp_headersСписок заголовков, которые будут добавлены к отправляемому SMTP сообщению

Способы тарификации сообщения

ЗначениеОписание
subscriber_priorityТарифицируется «подписчик», если не доступны «подписчики», используется «письмо». Если нет «писем», возвращается ошибка.
credit_priorityТарифицируется «письмо». Если нет «писем», используется «подписчик». Если нет «подписчиков», возвращается ошибка.
subscriberТарифицируется «подписчик». Если нет «подписчиков», возвращается ошибка.
creditТарифицируется «письмо». Если нет «писем», возвращается ошибка.

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор сообщения
from_emailАдрес отправителя
from_nameИмя отправителя
toАдрес получателя
subjectТема
textТекстовая версия сообщения
htmlHTML версия сообщения
attachmentsМассив имен вложенных файлов
statusСтатус сообщения
eventsИнформация о событиях

Статусы сообщения

СтатусОписание
queuedПринято в очередь
sentОтправлено, ожидатся подтверждение доставки
deliveredДоставлено
skippedНе отправлено. Получатель отписался или находится в списке проблемных получателей
soft_bouncedНе доставлено. Временно отклонено принимающей стороной
hard_bouncedСообщение не может быть доставлено

Информация о событиях

СобытиеОписание
openСообщение прочитано
redirectПолучатель перешел по ссылке
spamСообщение помечено как спам
unsubscribeПользователь отписался

Обратите внимание на то, что при отправке сообщений сервер может вернуть ответ со статусом 429. Это означает, что вы превысили количество сообщений, разрешенное к отправке, в единицу времени. Результат отправки сообщений влияет на лимит сообщений в единицу времени. Таким образом, если вы отправляете письма только вашим клиентам, только на существующие адреса, не рассылаете спам и тп, то разрешенное количество сообщений в единицу времени для вашего аккаунта будет увеличиваться, и наоборот.

Получение информации о сообщении

Пример запроса

curl -X GET https://api.mailopost.ru/v1/email/messages/1 \
     -H 'Content-Type: application/json'              \
     -H 'Authorization: Bearer $API_TOKEN'            \
     -d '...JSON...'

Пример ответа в случае успеха

{
  "id":1,
  "from_email":"[email protected]",
  "from_name":"Alice",
  "to":"[email protected]",
  "subject":"Hello",
  "text":"Hello, Bob!",
  "html":"<h2>Hello, Bob!</h2>",
  "status":"queued",
  "events": {
    "open": 1,
    "redirect": {
      "http://foo.com": 2,
      "http://bar.com": 3
    },
    "spam": 1,
    "unsubscribe": 1
  }
}

GET /email/messages/:id

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
from_emailАдрес отправителя
from_nameИмя отправителя
toАдрес получателя
subjectТема
textТекстовая версия сообщения
htmlHTML версия сообщения
statusСтатус сообщения
eventsИнформация о событиях

Статусы сообщения

СтатусОписание
queuedПринято в очередь
sentОтправлено
deliveredДоставлено
skippedНе отправлено
soft_bouncedСообщение не доставлено
hard_bouncedСообщение не может быть доставлено

Информация о событиях

СобытиеОписание
openСообщение прочитано
redirectПолучатель перешел по ссылке
spamСообщение помечено как спам
unsubscribeПользователь отписался

Отправка одиночного сообщения по шаблону

В личном кабинете в разделе «Автоматизация», выберите «Одиночное по шаблону» и создайте шаблон письма. Отправляйте письма по этому шаблону с параметрами. Для подстановки параметра в шаблоне используйте конструкцию [%имя параметра%], например [%name%], [%age%] и т.д.

Пример JSON для запроса

{
  "to": "[email protected]",
  "payment": "credit",
  "params": {
    "name": "Ivan",
    "age": "33"
  }
}

POST /email/templates/:template_id/messages

где :template_id — идентификатор шаблона

Параметры запроса

ПараметрОписаниеОбязательный
toemail получателяДа
paramsПараметры подстановкиНет
paymentСпособ тарификации сообщения. Возможные значения:
subscriber_priority
credit_priority
subscriber
credit
Значение по умолчанию: subscriber_priority
Нет

Способы тарификации сообщения

ЗначениеОписание
subscriber_priorityТарифицируется «подписчик», если не доступны «подписчики», используется «письмо». Если нет «писем», возвращается ошибка.
credit_priorityТарифицируется «письмо». Если нет «писем», используется «подписчик». Если нет «подписчиков», возвращается ошибка.
subscriberТарифицируется «подписчик». Если нет «подписчиков», возвращается ошибка.
creditТарифицируется «письмо». Если нет «писем», возвращается ошибка.

Пример запроса

curl -X POST https://api.mailopost.ru/v1/email/templates/1/messages \
     -H 'Content-Type: application/json'        \
     -H 'Authorization: Bearer $API_TOKEN'      \
     -d '...JSON...'

Создание группы

Пример JSON для запроса

{
  "title":"My Recipients"
}

Пример запроса

curl -X POST https://api.mailopost.ru/v1/email/lists \
     -H 'Content-Type: application/json'     \
     -H 'Authorization: Bearer $API_TOKEN'   \
     -d '. ..JSON...'

Пример ответа в случае успеха

{
  "id":1,
  "title":"My Recipients"
}

POST /email/lists

Параметры запроса

ПараметрОписаниеОбязательный
titleНазвание группы получателей. Должно быть уникальнымДа

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор созданной группы
titleНазвание группы

Получение списка групп

Пример запроса

curl -X GET https://api.mailopost.ru/v1/email/lists \
     -H 'Content-Type: application/json'    \
     -H 'Authorization: Bearer $API_TOKEN'

Данный метод поддерживает постраничную выдачу результатов.

Пример ответа в случае успеха

{
  "total_count":3,
  "total_pages":1,
  "page_number":1,
  "page_size":25,
  "collection":[
    {
      "id":1,
      "title":"My Recipients"
    },
    {
      "id":2,
      "title":"My Recipients #2"
    },
    {
      "id":3,
      "title":"My Recipients #3"
    }
  ]
}

GET /email/lists

Ответ сервера

Ответ сервера содержит коллекцию групп получателей. Каждый элемент содержит следующие атрибуты:

АтрибутОписание
idИдентификатор группы
titleНазвание группы

Получение информации о группе

Пример запроса

curl -X GET https://api.mailopost.ru/v1/email/lists/1 \
     -H 'Content-Type: application/json'      \
     -H 'Authorization: Bearer $API_TOKEN'

Пример ответа в случае успеха

{
  "id":1,
  "title":"My Recipients"
}

GET /email/lists/:id

где :id — идентификатор группы для запроса информации

Ответ сервера

Ответ сервера в формате JSON содержит следующие атрибуты:

АтрибутОписание
idИдентификатор группы
titleНазвание группы

Удаление группы

Пример запроса

curl -X DELETE https://api. mailopost.ru/v1/email/lists/1 \
     -H 'Content-Type: application/json'         \
     -H 'Authorization: Bearer $API_TOKEN'

DELETE /email/lists/:id

где :id — идентификатор группы для запроса информации

Ответ сервера

В случае успешного удаления сервер вернет пустой ответ со статусом 204.

Редактирование группы

Пример JSON для запроса

{
  "title":"New Title"
}

Пример запроса

curl -X PATCH https://api.mailopost.ru/v1/email/lists/1 \
     -H 'Content-Type: application/json'        \
     -H 'Authorization: Bearer $API_TOKEN'
     -d '...JSON...'

Пример ответа в случае успеха

{
  "id":1,
  "title":"New Title"
}

PATCH /email/lists/:id

где :id — идентификатор группы для запроса информации

Параметры запроса

ПараметрОписаниеОбязательный
titleНазвание группы получателей. Должно быть уникальнымДа

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор созданной группы
titleНазвание группы

Создание параметра

Пример JSON для запроса

{
  "title":"Age",
  "kind": "numeric"
}

Пример запроса

curl -X POST https://api.mailopost.ru/v1/email/lists/1/parameters \
     -H 'Content-Type: application/json'                  \
     -H 'Authorization: Bearer $API_TOKEN'                \
     -d '...JSON...'

Пример ответа в случае успеха

{
  "id":11,
  "title":"Age",
  "kind":"numeric",
  "list_id":15
}

POST /email/lists/:id/parameters

Параметры запроса

ПараметрОписаниеОбязательный
titleДа
kindВозможные значения:
string
numeric
date
boolean
geo
Значение по умолчанию: string

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
titleНазвание
kindТип

Список параметров

Пример запроса

curl -X GET https://api. mailopost.ru/v1/email/lists/1/parameters \
     -H 'Content-Type: application/json'                 \
     -H 'Authorization: Bearer $API_TOKEN'

Данный метод поддерживает постраничную выдачу результатов.

Пример ответа в случае успеха

{
  "total_count":2,
  "total_pages":1,
  "page_number":1,
  "page_size":25,
  "collection":[
    {
      "id":1,
      "title":"Name",
      "kind":"string",
      "list_id":1
    },
    {
      "id":2,
      "title":"Age",
      "kind":"numeric",
      "list_id":1
    }
  ]
}

GET /email/lists/:id/parameters

Ответ сервера

Ответ сервера содержит коллекцию параметров группы получателей. Каждый элемент содержит следующие атрибуты:

АтрибутОписание
idИдентификатор
titleНазвание
kindТип

Изменение параметра

Пример JSON для запроса

{
  "title":"Age",
  "kind": "numeric"
}

Пример запроса

curl -X PATCH https://api. mailopost.ru/v1/email/lists/11/parameters/15 \
     -H 'Content-Type: application/json'                       \
     -H 'Authorization: Bearer $API_TOKEN'                     \
     -d '...JSON...'

Пример ответа в случае успеха

{
  "id":11,
  "title":"Age",
  "kind":"numeric",
  "list_id":15
}

PATCH /email/lists/:list-id/parameters/:id

где :list-id — идентификатор группы, :id — идентификатор параметра

Параметры запроса

ПараметрОписаниеОбязательный
title
kindВозможные значения:
string
numeric
date
boolean
geo
При изменении типа параметра, соответствующие значения обнулятся

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
titleНазвание
kindТип

Удаление параметра

Пример запроса

curl -X DELETE https://api. mailopost.ru/v1/email/lists/11/parameters/15 \
     -H 'Content-Type: application/json'                        \
     -H 'Authorization: Bearer $API_TOKEN'

DELETE /email/lists/:list-id/parameters/:id

где :list-id — идентификатор группы, :id — идентификатор параметра

Создание получателя

Пример JSON для запроса

{
  "email":"[email protected]",
  "unconfirmed": true,
  "values":[
    {
      "parameter_id":"1",
      "value":"Alice"
    },
    {
      "parameter_id":"2",
      "value":"22"
    }
  ]
}

Пример запроса

curl -X POST https://api.mailopost.ru/v1/email/lists/1/recipients \
     -H 'Content-Type: application/json'                       \
     -H 'Authorization: Bearer $API_TOKEN'                     \
     -d '...JSON...'

Пример ответа в случае успеха

{
  "id":1,
  "email":"alice@example. org",
  "confirmed":false,
  "list_id":1,
  "status": "active",
  "values":[
    {
      "value":"Alice",
      "kind":"string",
      "parameter_id":1
    },
    {
      "value":22.0,
      "kind":"numeric",
      "parameter_id":2
    }
  ]
}

POST /email/lists/:id/recipients

Параметры запроса

ПараметрОписаниеОбязательный
emailДа
unconfirmedСоздать неподтвержденного получателя. Необходимо задать любое значение, например, true, t или 1. По умолчанию создается подтвержденный получательНет
valuesМассив значений для параметров

Элементы массива значений

ПараметрОписаниеОбязательный
parameter_idID параметра группы получателейДа
valueДа

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
emailАдрес
confirmedПодтвержден получатель или нет
statusСтатус получателя. Возможные значения: active, incorrect, unconfirmed, unsubscribed
valuesМассив значений

Элементы массива значений

ПараметрОписание
parameter_idID параметра группы получателей
kindТип параметра
valueЗначение

Информация о получателе

Данный метод позволяет получить информацию о получателе по ID.

Пример запроса

curl -X GET https://api.mailopost.ru/v1/email/lists/1/recipients/2 \
     -H 'Content-Type: application/json'                   \
     -H 'Authorization: Bearer $API_TOKEN'

Пример ответа в случае успеха

{
  "id":2,
  "email":"[email protected]",
  "confirmed":false,
  "list_id":1,
  "status": "active",
  "values":[
    {
      "value":"Alice",
      "kind":"string",
      "parameter_id":1
    },
    {
      "value":22. 0,
      "kind":"numeric",
      "parameter_id":2
    }
  ]
}

GET /email/lists/:list_id/recipients/:id

Параметры запроса

ПараметрОписаниеОбязательный
list_idID группыДа
idID получателяДа

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
emailАдрес
confirmedПодтвержден получатель или нет
statusСтатус получателя. Возможные значения: active, incorrect, unconfirmed, unsubscribed
valuesМассив значений

Элементы массива значений

ПараметрОписание
parameter_idID параметра группы получателей
kindТип параметра
valueЗначение

Обновление получателя

Пример JSON для запроса

{
  "email":"alice@example. org",
  "values":[
    {
      "parameter_id":"1",
      "value":"Alice"
    },
    {
      "parameter_id":"2",
      "destroy":"true"
    }
  ]
}

Пример запроса

curl -X PATCH https://api.mailopost.ru/v1/email/lists/1/recipients/1 \
     -H 'Content-Type: application/json'                     \
     -H 'Authorization: Bearer $API_TOKEN'                   \
     -d '...JSON...'

Пример ответа в случае успеха

{
  "id":1,
  "email":"[email protected]",
  "confirmed":true,
  "status": "active",
  "list_id":1,
  "values":[
    {
      "value":"Alice",
      "kind":"string",
      "parameter_id":1
    }
  ]
}

PATCH /email/lists/:list_id/recipients/:id

Параметры запроса

ПараметрОписаниеОбязательный
emailНет
valuesМассив значений для параметров

Элементы массива значений

ПараметрОписаниеОбязательный
parameter_idID параметра группы получателейДа
valueНе может быть одновременно использован с параметром destroyНет
destroyИспользуется для удаления значения. Для удаления значения необходимо задать любое значение, например, true, t или 1. Не можеть быть использован одновременно с параметром valueНет

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
emailАдрес
confirmedПодтвержден получатель или нет
statusСтатус получателя. Возможные значения: active, incorrect, unconfirmed, unsubscribed
valuesМассив значений

Элементы массива значений

ПараметрОписание
parameter_idID параметра группы получателей
kindТип параметра
valueЗначение

Список получателей

Пример запроса

curl -X GET https://api. mailopost.ru/v1/email/lists/1/recipients \
     -H 'Content-Type: application/json'                 \
     -H 'Authorization: Bearer $API_TOKEN'

Данный метод поддерживает постраничную выдачу результатов. Максимальный page_size равняется 1000.

Пример ответа в случае успеха

{
  "total_count":2,
  "total_pages":1,
  "page_number":1,
  "page_size":25,
  "collection":[
    {
      "id":1,
      "email":"[email protected]",
      "confirmed":true,
      "status": "active",
      "list_id":1,
      "values":[
        {
          "value":"Alice",
          "kind":"string",
          "parameter_id":9
        },
        {
          "value":22.0,
          "kind":"numeric",
          "parameter_id":10
        }
      ]
    },
    {
      "id":2,
      "email":"[email protected]",
      "confirmed":true,
      "status": "active",
      "list_id":1,
      "values":[
      ]
    }
  ]
}

GET /email/lists/:id/recipients

Ответ сервера

Ответ сервера содержит коллекцию получателей в группе. Каждый элемент содержит следующие атрибуты:

АтрибутОписание
idИдентификатор
emailАдрес
confirmedПодтвержден получатель или нет
statusСтатус получателя. Возможные значения: active, incorrect, unconfirmed, unsubscribed
valuesМассив значений

Элементы массива значений

ПараметрОписание
parameter_idID параметра группы получателей
kindТип параметра
valueЗначение

Удаление получателя

Пример запроса

curl -X DELETE https://api.mailopost.ru/v1/email/lists/1/recipients/1 \
     -H 'Content-Type: application/json'                      \
     -H 'Authorization: Bearer $API_TOKEN'

DELETE /email/lists/:list_id/recipients/:id

Импорт большого количества получателей

POST /email/lists/:id/recipients/imports

Параметры запроса

ПараметрОписаниеОбязательный
recipientsМассив получателей. Максимальный размер 10000Да
run_triggersЗапустить связанные триггеры. Необходимо задать любое значение, например, true, t или 1.Нет

Массив получателей

ПараметрОписаниеОбязательный
emailДа
valuesМассив значений для параметров

Элементы массива значений

ПараметрОписаниеОбязательный
parameter_idID параметра группы получателейДа
valueДа

Ответ сервера

ПараметрОписание
idИдентификатор импорта. В дальнейшем может использоваться для получения информации о ходе импорта
statusСтатус импорта

Пример JSON для запроса

{
  "recipients":[
    {
      "email":"alice@example. org",
      "values":[
        {
          "parameter_id":"1",
          "value":"Alice"
        },
        {
          "parameter_id":"2",
          "value":"22"
        }
      ]
    },
    {
      "email":"[email protected]",
      "values":[
        {
          "parameter_id":"1",
          "value":"Bob"
        },
        {
          "parameter_id":"2",
          "value":"11"
        }
      ]
    }
  ]
}

Пример запроса

curl -X POST https://api.mailopost.ru/v1/email/lists/1/recipients/imports \
     -H 'Content-Type: application/json'                       \
     -H 'Authorization: Bearer $API_TOKEN'                     \
     -d '...JSON...'

Пример ответа в случае успеха

{
  "id":7,
  "status":"queued"
}

Поиск получателей

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

Пример запроса

curl -X GET https://api.mailopost.ru/v1/email/recipients/[email protected] \
     -H 'Content-Type: application/json'                                  \
     -H 'Authorization: Bearer $API_TOKEN'

Пример ответа в случае успеха

{
  "total_count": 2,
  "total_pages": 1,
  "page_number": 1,
  "page_size": 25,
  "collection": [
    {
      "email": "[email protected]",
      "recipients": [
        {
          "list_id": 1,
          "list_title": "List #1",
          "recipient_id": 1
        },
        {
          "list_id": 2,
          "list_title": "List #2",
          "recipient_id": 2
        }
      ]
    }
  ],
  "query": "test"
}

GET /email/recipients/search

Параметры запроса

ПараметрОписаниеОбязательный
emailИскомый адресДа

Ответ сервера

Ответ сервера содержит коллекцию получателей в группе. Каждый элемент содержит следующие атрибуты:

АтрибутОписание
emailАдрес получателя
recipientsМассив, содержащий информацию о списках, в которых есть искомый получатель

Создание организации

Пример JSON для запроса

{
  "name":"My Organization",
  "address":"Lenina 40",
  "country":"Russia",
  "city":"Tomsk",
  "phone":"+7-3822-123-456",
  "zip":"634000"
}

Пример запроса

curl -X POST https://api.mailopost.ru/v1/email/organizations \
     -H 'Content-Type: application/json'             \
     -H 'Authorization: Bearer $API_TOKEN'           \
     -d '...JSON...'

Пример ответа в случае успеха

{
  "id":1,
  "name":"My Organization",
  "address":"Lenina 40",
  "country":"Russia",
  "city":"Tomsk",
  "phone":"+7-3822-123-456",
  "zip":"634000",
  "current":true
}

POST /email/organizations

Параметры запроса

ПараметрОписаниеОбязательный
nameДа
addressДа
countryДа
cityДа
phoneДа
zipДа

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
nameНазвание
addressАдрес
countryСтрана
cityГород
phoneТелефон
zipПочтовый индекс
currentЯвляется ли организацией по умолчанию

Список организаций

Пример запроса

curl -X GET https://api. mailopost.ru/v1/email/organizations \
     -H 'Content-Type: application/json'            \
     -H 'Authorization: Bearer $API_TOKEN'

Данный метод поддерживает постраничную выдачу результатов.

Пример ответа в случае успеха

{
  "total_count":1,
  "total_pages":1,
  "page_number":1,
  "page_size":25,
  "collection":[
    {
      "id":1,
      "name":"My Organization",
      "address":"Lenina 40",
      "country":"Russia",
      "city":"Tomsk",
      "phone":"+7-3822-123-456",
      "zip":"634000",
      "current":true
    }
  ]
}

GET /email/organizations

Ответ сервера

Ответ сервера содержит коллекцию организаций. Каждый элемент содержит следующие атрибуты:

АтрибутОписание
idИдентификатор
nameНазвание
addressАдрес
countryСтрана
cityГород
phoneТелефон
zipПочтовый индекс
currentЯвляется ли организацией по умолчанию

Информация об организации

Пример запроса

curl -X GET https://api. mailopost.ru/v1/email/organizations/1 \
     -H 'Content-Type: application/json'              \
     -H 'Authorization: Bearer $API_TOKEN'

Пример ответа в случае успеха

{
  "id":1,
  "name":"My Organization",
  "address":"Lenina 40",
  "country":"Russia",
  "city":"Tomsk",
  "phone":"+7-3822-123-456",
  "zip":"634000",
  "current":true
}

GET /email/organizations/:id

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
nameНазвание
addressАдрес
countryСтрана
cityГород
phoneТелефон
zipПочтовый индекс
currentЯвляется ли организацией по умолчанию

Организация по умолчанию

Пример запроса

curl -X GET https://api. mailopost.ru/v1/email/organizations/current \
     -H 'Content-Type: application/json'                    \
     -H 'Authorization: Bearer $API_TOKEN'

Пример ответа в случае успеха

{
  "id":1,
  "name":"My Organization",
  "address":"Lenina 40",
  "country":"Russia",
  "city":"Tomsk",
  "phone":"+7-3822-123-456",
  "zip":"634000",
  "current":true
}

GET /email/organizations/current

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
nameНазвание
addressАдрес
countryСтрана
cityГород
phoneТелефон
zipПочтовый индекс
currentЯвляется ли организацией по умолчанию

Задать организацию по умолчанию

Пример запроса

curl -X PATCH https://api. mailopost.ru/v1/email/organizations/1/current \
     -H 'Content-Type: application/json'                        \
     -H 'Authorization: Bearer $API_TOKEN'

Пример ответа в случае успеха

{
  "id":1,
  "name":"My Organization",
  "address":"Lenina 40",
  "country":"Russia",
  "city":"Tomsk",
  "phone":"+7-3822-123-456",
  "zip":"634000",
  "current":true
}

PATCH /email/organizations/:id/current

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
nameНазвание
addressАдрес
countryСтрана
cityГород
phoneТелефон
zipПочтовый индекс
currentЯвляется ли организацией по умолчанию

Изменение организации

Пример JSON для запроса

{
  "name":"My Organization",
  "address":"Lenina 40",
  "country":"Russia",
  "city":"Tomsk",
  "phone":"+7-3822-123-456",
  "zip":"634000"
}

Пример запроса

curl -X PATCH https://api. mailopost.ru/v1/email/organizations/1 \
     -H 'Content-Type: application/json'                \
     -H 'Authorization: Bearer $API_TOKEN'              \
     -d '...JSON...'

Пример ответа в случае успеха

{
  "id":1,
  "name":"My Organization",
  "address":"Lenina 40",
  "country":"Russia",
  "city":"Tomsk",
  "phone":"+7-3822-123-456",
  "zip":"634000",
  "current":true
}

PATCH /email/organizations/:id

Параметры запроса

ПараметрОписаниеОбязательный
name
address
country
city
phone
zip

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
nameНазвание
addressАдрес
countryСтрана
cityГород
phoneТелефон
zipПочтовый индекс
currentЯвляется ли организацией по умолчанию

Удаление организации

Пример запроса

curl -X DELETE https://api. mailopost.ru/v1/email/organizations/1 \
     -H 'Content-Type: application/json'                 \
     -H 'Authorization: Bearer $API_TOKEN'

DELETE /email/organizations/:id

Создание рассылки

Пример JSON для запроса

{
  "from_email":"[email protected]",
  "subject":"Hello World",
  "text":"Hello World",
  "html":"<h2>Hello World</h2>",
  "lists":[
    {
      "id":"1"
    }
  ]
}

Пример запроса

curl -X POST https://api.mailopost.ru/v1/email/campaigns \
     -H 'Content-Type: application/json'              \
     -H 'Authorization: Bearer $API_TOKEN'            \
     -d '...JSON...'

Пример запроса для создания рассылки с вложениями

curl -X POST https://api.mailopost.ru/v1/email/campaigns \
     -H 'Authorization: Bearer $API_TOKEN'       \
     -F from_email=from@example. com              \
     -F subject='Mail with attachments'          \
     -F html='<h2>Hello world</h2>'              \
     -F attachments[]=@/path/to/file1            \
     -F attachments[]=@/path/to/file2

Пример ответа в случае успеха

{
  "id":1,
  "from_email":"[email protected]",
  "from_name":null,
  "html":"<h2>Hello World</h2>",
  "text":"Hello World",
  "state":"draft",
  "recipients_count":10,
  "purchase":{
    "enable":true,
    "subscribers":10,
    "credits":0,
    "deficit":0
  },
  "statistics":{
    "delivered":1,
    "bounced":0,
    "delivering":0,
    "uniq_open":0,
    "total_open": 0,
    "last_open_at": nil,
    "uniq_click":0,
    "total_click": 0,
    "last_click_at": nil,
    "unsubscription":0,
    "spam":0
  }
}

POST /email/campaigns

Параметры запроса

ПараметрОписаниеОбязательный
from_emailДа
subjectДа
from_name
text
htmlДа
listsМассив групп получателейДа

Элементы массива групп получателей

ПараметрОписаниеОбязательный
idID группы получателейДа

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
from_emailАдрес отправителя
from_nameИмя отправителя
html
text
stateСтатус (рассылка создается в статусе draft)
recipients_countКоличество получателей
purchaseИнформация о тарификации
statisticsСтатистика

Статусы

ЗначениеОписание
draftЧерновик
pendingНа модерации
delayedЗапланированная
sendingОтправляется
canceledОтменена
stoppedОстановлена
completedЗавершена
archivedВ архиве

Информация о тарификации

АтрибутОписание
enableМожет принимать значение true (отправка возможна) или false (недостаточно средств)
subscribersКоличество подписчиков которое будет списано
creditsКоличество кредитов которое будет списано
deficitКоличество недостающих средств

Статистика

АтрибутОписание
deliveredКоличество доставленных сообщений
bouncedКоличество недоставленный сообщений
deliveringКоличество доставляющихся сообщений
uniq_openКоличество уникальных открытий
total_openКоличество открытий всего
lastopenatTimestamp последнего открытия
uniq_clickКоличество уникальных переходов
total_clickКоличество переходов всего
lastclickatTimestamp последнего перехода
unsubscriptionКоличество отписок
spamКоличество нажатий кнопки «спам»

Отправка рассылки

Пример запроса

curl -X PATCH https://api. mailopost.ru/v1/email/campaigns/1/deliver \
     -H 'Content-Type: application/json'                    \
     -H 'Authorization: Bearer $API_TOKEN'

Пример ответа в случае успеха

{
  "id":1,
  "from_email":"[email protected]",
  "from_name":null,
  "html":"<h2>Hello World</h2>",
  "text":"Hello World",
  "state":"sending",
  "recipients_count":10,
  "purchase":{
    "enable":true,
    "subscribers":10,
    "credits":0,
    "deficit":0
  },
  "statistics":{
    "delivered":1,
    "bounced":0,
    "delivering":0,
    "uniq_open":0,
    "total_open": 0,
    "last_open_at": nil,
    "uniq_click":0,
    "total_click": 0,
    "last_click_at": nil,
    "unsubscription":0,
    "spam":0
  }
}

PATCH /email/campaigns/:id/deliver

Параметры запроса

ПараметрОписаниеОбязательный
idID созданной рассылкиДа

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
from_emailАдрес отправителя
from_nameИмя отправителя
html
text
stateСтатус
recipients_countКоличество получателей
purchaseИнформация о тарификации
statisticsСтатистика

Статусы

ЗначениеОписание
draftЧерновик
pendingНа модерации
delayedЗапланированная
sendingОтправляется
canceledОтменена
stoppedОстановлена
completedЗавершена
archivedВ архиве

Информация о тарификации

АтрибутОписание
enableМожет принимать значение true (отправка возможна) или false (недостаточно средств)
subscribersКоличество подписчиков которое будет списано
creditsКоличество кредитов которое будет списано
deficitКоличество недостающих средств

Статистика

АтрибутОписание
deliveredКоличество доставленных сообщений
bouncedКоличество недоставленный сообщений
deliveringКоличество доставляющихся сообщений
uniq_openКоличество уникальных открытий
total_openКоличество открытий всего
lastopenatTimestamp последнего открытия
uniq_clickКоличество уникальных переходов
total_clickКоличество переходов всего
lastclickatTimestamp последнего перехода
unsubscriptionКоличество отписок
spamКоличество нажатий кнопки «спам»

Список рассылок

Пример запроса

curl -X GET https://api. mailopost.ru/v1/email/campaigns \
     -H 'Content-Type: application/json'        \
     -H 'Authorization: Bearer $API_TOKEN'

Данный метод поддерживает постраничную выдачу результатов.

Пример ответа в случае успеха

{
  "total_count": 1,
  "total_pages": 1,
  "page_number": 1,
  "page_size": 25,
  "collection": [
    {
      "id": 1,
      "from_email": "[email protected]",
      "from_name": "Test",
      "html": "<p>test</p>",
      "text": "test",
      "state": "draft",
      "recipients_count": 10,
      "purchase": {
        "enable": true,
        "subscribers": 0,
        "credits": 10,
        "deficit": 0
      },
      "statistics":{
        "delivered":1,
        "bounced":0,
        "delivering":0,
        "uniq_open":0,
        "total_open": 0,
        "last_open_at": nil,
        "uniq_click":0,
        "total_click": 0,
        "last_click_at": nil,
        "unsubscription":0,
        "spam":0
      }
    }
  ]
}

GET /email/campaigns

Ответ сервера

Ответ сервера содержит коллекцию рассылок. Подробнее об элементах коллекции можно прочитать в описании метода «Создание рассылки».

Информация о рассылке

Пример запроса

curl -X GET https://api.mailopost.ru/v1/email/campaigns/1 \
     -H 'Content-Type: application/json'               \
     -H 'Authorization: Bearer $API_TOKEN'

Пример ответа в случае успеха

{
  "id":1,
  "from_email":"[email protected]",
  "from_name":null,
  "html":"<h2>Hello World</h2>",
  "text":"Hello World",
  "state":"sending",
  "recipients_count":10,
  "purchase":{
    "enable":true,
    "subscribers":10,
    "credits":0,
    "deficit":0
  },
  "statistics":{
    "delivered":1,
    "bounced":0,
    "delivering":0,
    "uniq_open":0,
    "total_open": 0,
    "last_open_at": nil,
    "uniq_click":0,
    "total_click": 0,
    "last_click_at": nil,
    "unsubscription":0,
    "spam":0
  }
}

GET /email/campaigns/:id

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
idИдентификатор
from_emailАдрес отправителя
from_nameИмя отправителя
html
text
stateСтатус
recipients_countКоличество получателей
purchaseИнформация о тарификации
statisticsСтатистика

Статусы

ЗначениеОписание
draftЧерновик
pendingНа модерации
delayedЗапланированная
sendingОтправляется
canceledОтменена
stoppedОстановлена
completedЗавершена
archivedВ архиве

Информация о тарификации

АтрибутОписание
enableМожет принимать значение true (отправка возможна) или false (недостаточно средств)
subscribersКоличество подписчиков которое будет списано
creditsКоличество кредитов которое будет списано
deficitКоличество недостающих средств

Статистика

АтрибутОписание
deliveredКоличество доставленных сообщений
bouncedКоличество недоставленный сообщений
deliveringКоличество доставляющихся сообщений
uniq_openКоличество уникальных открытий
total_openКоличество открытий всего
lastopenatTimestamp последнего открытия
uniq_clickКоличество уникальных переходов
total_clickКоличество переходов всего
lastclickatTimestamp последнего перехода
unsubscriptionКоличество отписок
spamКоличество нажатий кнопки «спам»

Данный механизм позволяют получать POST запросы на указанный URL, когда происходят события, связанные с одиночными сообщениями или сообщениями, отправленными по SMTP.

Структура сообщений, отправляемых на указанный URL:

{
  "message": {
    "id": 1
  },
  "event": {
    "name": "clicked",
    "timestamp": 1539062173,
    "data": {
      "url": "https://example.com"
    }
  }
}

Ключ message содержит информацию о сообщении, с которым связано событие. Ключ event содержит информацию о событии. На данный момент ключ data возвращается только для события clicked, и содержит адрес ссылки, по которой кликнули.

Виды событий

СобытиеОписание
deliveredСообщение доставлено
openedСообщение открыто
clickedПолучатель перешел по ссылке. Ключ event.data содержит URL ссылки
unsubscribedПолучатель отписался
complinedПолучатель пожаловался на спам
skippedСообщение не было отправлено (возможные причины: получатель ранее отписался или пожаловался на спам)
soft_bouncedСообщение не принято почтовым сервером получателя (возможно, будет принято позже)
hard_bouncedСообщение не принято почтовым сервером получателя

Установка webhook

Пример JSON для запроса

{
  "url":"https://example. com/some/path"
}

Пример запроса

curl -X POST https://api.mailopost.ru/v1/email/webhook \
     -H 'Content-Type: application/json'       \
     -H 'Authorization: Bearer $API_TOKEN'     \
     -d '...JSON...'

Пример ответа в случае успеха

{
  "url":"https://example.com/some/path"
}

POST /email/webhook

Параметры запроса

ПараметрОписаниеОбязательный
urlURL, на который отправлять данные о событииДа

Ответ сервера

Ответ сервера содержит JSON со следующими атрибутами:

АтрибутОписание
urlURL, на который отправлять данные о событии

Получение информации о webhook

Пример запроса

curl -X GET https://api. mailopost.ru/v1/email/webhook  \
     -H 'Content-Type: application/json'       \
     -H 'Authorization: Bearer $API_TOKEN'

Пример ответа в случае успеха

{
  "url":"https://example.com/some/path"
}

GET /email/webhook

Удаление webhook

Пример JSON для запроса

{
  "url":"https://example.com/some/path"
}

Пример запроса

curl -X DELETE https://api.mailopost.ru/v1/email/webhook \
     -H 'Content-Type: application/json'         \
     -H 'Authorization: Bearer $API_TOKEN'

DELETE /email/webhook

Базовый URL

Адрес: smtp.msndr.net

Порт: 25 или 587

Использование шифрования SSL/TLS не является обязательным, его использование будет определено автоматически, в соответствии с настройками Вашего ПО. ]’. 220 smtp.msndr.net ESMTP service ready ehlo sender 250-smtp.msndr.net 250-STARTTLS 250-AUTH PLAIN LOGIN 250-PIPELINING 250 8BITMIME auth plain AHVzZXJAZXhhbXBsZS5vcmcAc29tZS1zdXBlci1wdXBlci1zZWNyZXQta2V5 235 authentication ok mail from: [email protected] 250 Ok rcpt to: [email protected] 250 Ok rcpt to: [email protected] 250 Ok data 354 End data with <CR><LF>.<CR><LF> From: Mail From <[email protected]> Subject: Hello X-Client-Id: 123 How are you doing? . 250 Message accepted (sent messages <[email protected]:1>,<[email protected]:2>) quit 221 smtp.msndr.net closing connection Connection closed by foreign host.

В случае отправки сообщений ответ будет содержать строку с информацией об отправленных письмах.

Строка содержит адреса получателей и ID сообщений в формате <email:id>, объединенные запятой (см. пример выше).

К отправляемому сообщению можно добавлять собственные заголовки, используя заголовки формата X-My-Header: my value. Так, в указанном выше примере в результирующем сообщении будет присутствовать заголовок Client-Id: 123.

У нас уже есть готовые интеграции с различными сервисами. Доступна интеграция с Tilda, LPgenerator и еще десятками популярных сервисов через онлайн-коннектор ApiX-Drive.

HTML в электронной почте: красота оформления за счет безопасности?

Безопасность Интернет | Поделиться

Сообщения электронной почты, содержащие элементы с активным содержимым, таят потенциальную угрозу для пользователя. Проблема заключается в том, каким образом почтовые клиенты обрабатывают HTML-содержимое писем. Технический директор CommuniGate Systems Дмитрий Акиндинов рассказал CNews, в чем заключается уязвимость и объяснил, почему он рекомендует сводить к минимуму использование писем с контентом, отображению которого могут сопутствовать невидимая пользователю активность.

CNews: Какие угрозы с точки зрения безопасности электронной почты наиболее актуальны?

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

CNews: Какие методы чаще всего используют злоумышленники, как они предпочитают действовать технически?

Дмитрий Акиндинов: Самый простой способ предполагает использование методов социальной инженерии, то есть отправки писем с поддельных адресов с целью обмануть пользователя. В пример можно привести спам с так называемыми «нигерийскими» письмами и «сомалийские» вирусы. Протокол SMTP, который с самого

Более сложный подход предполагает отправку писем с активным содержимым, которое способно вызывать определенные действия на стороне клиента, осуществляющего обработку электронной почты. Например, это может быть приложение, маскирующееся под скринсейвер, которое после установки компрометирует компьютер. Активные «скрипты», которые незаметно для пользователя будут совершать изменения на машине, могут быть встроены в любой документ pdf или Microsoft Word.

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

CNews: Как построено шифрование данных в электронной почте?

Дмитрий Акиндинов: Первоначально электронная почта задумывалась как средство отправки текстовых сообщений, однако со временем пришло понимание, что вместе с текстом удобно пересылать дополнительные материалы (картинки, видео и т.п.). Для этого файл вложения необходимо было перекодировать в текст и вставить его в сообщение, а при приеме декодировать обратно. Поначалу для этого использовались внешние программы (UUEncode, BinHex), потом эти функции были встроены в почтовые клиенты: «продвинутый» клиент в тексте сообщения умеет определить изначально «бинарные» вставки и показать их без дополнительных действий пользователя. Такими бинарными вложениями могли быть и шифрованные данные, созданные внешними программами. Одной из первых широко используемых программ была PGP Фила Циммермана. Это средство шифрования было разработано специально

Текстовое представление электронных писем стандартизовано для передачи мультимедийных данных в формате MIME. Этот формат позволяет компоновать электронное письмо из отдельных частей, которые могут задавать альтернативное представление текста письма, вложения, календарные приглашения и прочее. Специальное представление определено и для частей, которые содержат криптографическую информацию: зашифрованные данные или данные с электронной подписью. Оно описано в стандарте S/MIME.

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

Собственно для шифрования почты используются стандартные блочные шифры (DES, AES, соответствующие алгоритмы, предусмотренные российскими ГОСТами), которые предполагают применение как симметричного шифрования (передатчик и получатель изначально имеют доступ к одному и тому же ключу шифрования), так и асимметричного шифрования (отправитель для шифрования и получатель для расшифровки используют разные, но связанные между собой ключи). При этом для шифрования данных симметричным алгоритмом используется одноразовый случайный ключ, который в свою очередь приложен к данным зашифрованным асимметричным алгоритмом. Это среди прочего позволяет адресовать одни и те же зашифрованные данные нескольким получателям сразу.

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

На сегодняшний день наибольшее распространение получили технологии шифрования PGP и S/MIME. Они используют одинаковые подходы с комбинацией симметричных и асимметричных алгоритмов шифрования, но предлагают разные способы распространения публичных ключей.

CNews: В мае 2018 года европейские исследователи обнаружили новую уязвимость в протоколах PGP и S/MIME, в связи с чем они рекомендовали вообще отказаться от использования данных протоколов, пока уязвимость не будет закрыта. В чем именно заключается проблема?

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

Open RAN и другие тренды: чудес экономии можно не ждать

Телеком

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

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

CNews: Получается, что устранением проблемы должны заниматься разработчики почтовых программ?

Дмитрий Акиндинов: Конечно, но и сами пользователи должны более внимательно относиться к тому, какие сообщения они читают. Стоит обратить внимание, что атака производится не на сами зашифрованные данные, а на почтовую программу, которую злоумышленник пытается заставить расшифровать ранее украденные данные. И необходимым компонентом такой атаки является «обратный канал», по которому уязвимая почтовая программа может передать данные злоумышленнику. На сегодняшний день не найдено надежного способа организовать такой канал в простом текстовом сообщение, а использование HTML такие возможности предоставляет. Правильным подходом будет полностью отключить HTML и обращения к внешним ссылкам и читать переписку в обычном текстовом представлении. Конечно, ссылку можно вставить и в обычный текст, но тогда пользователь сможет прочитать «тело» ссылки и наверняка обратит внимание, что она содержит в себе текст одного из его предыдущих сообщения.

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

CNews: Как в решениях CommuniGate реализована защита от подобных инцидентов?

Дмитрий Акиндинов: С самых первых версий решение CommuniGate Pro включает в себя веб-клиент, вследствие чего мы особенно чувствительны к такого рода уязвимостям. Например, при отображении в браузере письма со ссылкой на внешний ресурс, к злоумышленникам может попасть адрес страницы нашего веб-клиента, а с ним – идентификатор сессии, с помощью которого доступ к переписке можно будет получить с любого IP-адреса в случае, если отключены другие механизмы защиты (а их – но не все сразу! – иногда приходится отключать при работе, например, через прокси-сервер).

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

Кроме того, наше решение предусматривает фильтрацию HTML-контента, чтобы предотвратить показ подобного содержимого. Если

CNews: Можете ли вы привести примеры, когда злоумышленникам через уязвимость во встроенном контенте удавалось украсть конфиденциальную информацию и нанести крупный ущерб?

Дмитрий Акиндинов: Мне о подобных случаях не известно, однако следует помнить, что лишь немногие инциденты безопасности становятся достоянием общественности, так как бизнес старается не афишировать подобные утечки. Кроме того, в сфере информационной безопасности лучше всегда перестраховываться, поэтому я рекомендую всерьез отнестись к рекомендациям по поводу новой уязвимости в почтовых клиентах. Следует помнить, что одного шифрования недостаточно, также необходимо соблюдать «рабочую гигиену», то есть не открывать подозрительные письма, скептически относиться к письмам о выигрышах в лотерею и т. д. Помимо этого, я бы советовал отказаться от использования HTML-контента в деловой переписке. Элементы HTML не несут дополнительного смысла, а часто даже, наоборот, отвлекают от непосредственного содержания письма. Скажем, зачем мне в деловом письме нужен голубой текст на розовом фоне или анимированные картинки?

Павел Лебедев

Как отправить письмо по электронной почте

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

 

Как написать письмо

Рассмотрим классическую ситуацию. У нас есть адрес электронной почты, на который нужно написать письмо. Он состоит исключительно из английских букв и/или цифр, знака @ посередине и названия почтового сайта (mail. ru, например).

Подробнее об адресах ящиков в интернете я рассказывал в уроке «Адрес электронной почты».

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

Вот как он выглядит в почте Яндекса:

Так в Mail.ru:

Так в Gmail:

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

 

Нам нужна кнопка под названием «Написать». Еще она может называться «Написать письмо». Как правило, находится такая кнопка на самом видном месте: либо сверху, либо слева.

Вот как она выглядит в Яндексе:

Так в Mail.ru:

Вот так в Gmail:

Откроется форма для отправки. На всех почтовых сайтах она выглядит примерно одинаково. Здесь нас интересуют только три поля: Кому, Тема и большая часть для ввода текста.

Вот эти поля в почте Яндекса:

А вот они в Mail.ru:

Так нужные нам части выглядят в Gmail:

Куда печатать адрес

Часть, в которую нужно печатать адрес электронной почты, называется «Кому».

Допустим, у нас есть адрес, на который нужно отправить сообщение. Вот он:

Щелкаем левой кнопкой мышки внутри поля «Кому» и печатаем его туда. Чтобы набрать значок @ на клавиатуре, нужно нажать на кнопку Shift и, не отпуская ее, нажать один раз на клавишу клавиатуры с цифрой 2 (вверху, над буквами).

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

Что печатать в тему письма

После того, как адрес напечатан, щелкаем левой кнопкой внутри поля «Тема». Здесь нужно напечатать от кого сообщение или о чем оно.

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

Допустим, мы в поле «Тема» ничего не напечатали и отправили письмо. Человек его получит примерно в таком виде:

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

Как видите, по этим данным совершенно не понятно ни от кого оно, ни что в нем находится.

Проблема в том, что многие люди автоматически сочтут такое сообщение рекламой и даже не откроют. А другие пользователи испугаются, что это вирус и сразу удалят его.

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

Другая чуть менее распространенная ситуация, когда в поле «Тема» печатают сам текст сообщения. Вот пример того, как его увидит получатель:

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

Так что же должно быть в поле «Тема»? В идеале в нем нужно написать что-то такое, что подтолкнет человека открыть письмо. Прочитав тему, он должен понять, что это нужное сообщение, которого он ждет.

Пример:

  • Запись на консультацию
  • Отчет о работе
  • Результаты теста

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

Пример правильной «Темы»:

  • Запись на консультацию к терапевту
  • Отчет о работе по проекту №325
  • Результат теста по физике Иванова А.А.

Пример неправильной «Темы»:

  • От меня
  • Срочно
  • Открой

Куда печатать текст

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

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

Как отправить письмо

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

На кнопку «Отправить» нужно нажимать только один раз! Чем больше раз Вы нажмете на нее, тем больше одинаковых сообщений придет получателю.

Принцип следующий: написали письмо, навели мышку на «Отправить», щелкнули один раз левой кнопкой и ждете. Как правило, через несколько секунд почтовый сайт напишет, что сообщение отправлено.

Задание

Напишите письмо на адрес электронной почты

Представьте, что Вы пишете знакомому, которого не видели несколько месяцев. Кратко расскажите, как у Вас дела и что нового (можно одно-два предложения). Не забудьте про тему!

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

Внимание: это тренировочный адрес, на котором настроены автоматические ответы. Не ожидайте писем от реального человека.

Автор: Илья Кривошеев

выпуск и установка в MS Outlook 2013

Электронная цифровая подпись (ЭЦП) подтверждает, что e-mail адрес, который подписан ею, действительно принадлежит лицу, отправившему этот E-mail. Также ЭЦП позволяет зашифровать отосланный e-mail, чтобы в процессе передачи оно не смогло быть прочитанным третьими лицами.

Это отдельная технология, и предоставляемые нами SSL-сертификаты не предполагают наличие цифровой подписи писем. Да, они шифруют сообщение, но не идентифицируют его владельца. Заказать и выпустить подобный сертификат можно с помощью доверенного Центра Сертификации Comodo бесплатно на странице. На странице заказа необходимо указать:

  • имя;
  • фамилию;
  • страну;
  • email.

Важно! Сам сертификат (цифровая подпись — SSL) будет выпущен на e-mail адрес, указанный при заказе.

Также, можно выбрать длину RSA-ключа и пароль для отзыва сертификата (пароль необходимо запомнить).

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

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

Мы рассмотрим установку сертификата посредством Google Chrome.

По открытии письма от Центра Сертификации, после нажатия кнопки «Click and Install Comodo E-mail Certificate», сертификат (цифровая подпись) будет установлен в Ваш браузер. Если данная операция успешна, вы увидите нижеприведенный рисунок.

После установки SSL в браузер его можно экспортировать на Ваш персональный компьютер. Для этого необходимо выполнить следующие инструкции:

  • Перейдите в Меню — Настройки — Показать дополнительные настройки — HTTP/SSL — Управление сертификатами.
  • На вкладке «Личные» выберите ваш сертификат, который необходимо экспортировать и нажмите кнопку «Экспорт».
  • Следуйте по пунктам открывшегося «Мастера импорта сертификатов».
  • При запросе выберите «Да, экспортировать приватный ключ».
  • Оставьте триггер на «Файл обмена личной информцией (*.pfx)» и поставьте галочку на «Включить по возможности все сертификаты в путь сертификации».
  • Нажмите «Далее».
  • Назначьте пароль для защиты RSA-ключа вашего сертификата.
  • Назначьте вашему сертификату имя с расширением .pfx и выберите, куда его сохранить на ваш компьютер.
  • Вы увидите окно подтверждения с созданными вами настройками. Если что-либо захотите изменить, нажмите «Назад», в противном случае — «Готово» для экспорта сертификата.
  • По окончанию сертификат и приватный ключ будут сохранены в указанном вами .pfx-файле.
  • Теперь сертификат можно экспортировать в другие браузеры и почтовые клиенты.

После того, как сертификат был скачан на локальный компьютер, запустите его и выберите, для какого пользователя Вашей ОС он будет доступен:

  • текущий пользователь;
  • локальный компьютер (все его пользователи):

Выберите в Вашей системе недавно экспортированный из браузера на локальный ПК сертификат:

На следующем этапе выберите пароль для закрытого ключа (его необходимо запомнить):

На последнем шаге выберите хранилище для Вашего сертификата. Можно выбрать автоматический вариант и сертификат будет помещен в «Личные сертификаты»:

Установка сертификата на почтовый клиент Microsoft Outlook 2013

Откройте почтовый клиент MS Outlook 2013 и перейдите в Файл — Параметры. Откроется главное окно настроек Outlook:

Перейдите в последний раздел «Центр Управления Безопасностью» и нажмите на кнопку «Параметры Центра управления безопасностью»:

Перейдите в раздел «Защита электронной почты» и поставьте галочки напротив «Добавлять цифровую подпись к исходящим сообщениям» и «Отправлять подписанные сообщения открытым текстом»:

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

По окончанию нажимаем «OK».

Поздравляем, электронная цифровая подпись (SSL) установлена для вашего e-mail в почтовый клиент MS Outlook 2013. Теперь ваши письма будут помечены специальным символом в списке исходящих писем и ваши получатели также будут видеть это и знать, что данное письмо было отправлено именно вами.

Как отправлять электронные письма в формате HTML с помощью Gmail

Узнайте, как создавать электронные письма в формате HTML в Gmail, содержащие таблицы, кнопки, пользовательские шрифты, встроенные стили CSS, медиа-запросы, смайлы и даже подписи HTML.

Опубликовано в: Gmail — Слияние писем для Gmail

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

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

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

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

Вставка кнопок в Gmail

Этот фрагмент HTML создает красивую кнопку с призывом к действию с синим фоном, слегка закругленными краями и отрисовкой с использованием популярного шрифта Roboto.

  <а
  href = "https://digitalinspiration.com/"
 
  > Ознакомьтесь с нашей работой
  

Мы не можем скопировать этот HTML-код прямо в редактор электронной почты Gmail, но с помощью волшебных средств Chrome Dev Tools мы можем. Давайте посмотрим, как:

Откройте gmail.com и создайте новое сообщение электронной почты.Добавьте смайлик в текст сообщения, который будет заменен кнопкой HTML. Щелкните смайлик правой кнопкой мыши в редакторе Gmail и выберите «Проверить».

В нижней части браузера откроются инструменты разработчика. Выберите тег , содержащий эмодзи, щелкните правой кнопкой мыши и выберите «Редактор HTML». Замените выделенное содержимое кнопкой HTML и щелкните в любом месте за пределами окна инструментов разработчика.

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

Вставка HTML-таблиц в Gmail

В следующем примере мы встроим HTML-таблицу в редактор Gmail. В отличие от нашей кнопки выше, в которой были встроены все стили, CSS таблицы содержится в отдельной таблице стилей.

Следовательно, перед вставкой HTML таблицы в Gmail нам необходимо «встроить» стили, иначе форматирование будет игнорироваться Gmail. Это легко сделать с помощью Juice — просто вставьте HTML и CSS в поле ввода, и он встроит все стили CSS в теги HTML, совместимые с Gmail.

Отправка информационных бюллетеней по электронной почте с помощью Gmail

До сих пор мы видели примеры добавления базовых блоков HTML в Gmail, но было бы неплохо, если бы мы могли отправлять профессиональные и оперативные информационные бюллетени по электронной почте через Gmail?

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

Для создания информационного бюллетеня можно использовать MailChimp или любой другой дизайнер шаблонов электронной почты. Единственное требование — у инструмента должна быть возможность загружать дизайны в виде HTML-файла.

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

Почему HTML в электронной почте — плохая идея

Почему HTML в электронной почте — плохая идея

Примечание: Эта страница была первоначально написана в 1998 году, активно поддерживалась в течение 2004 года и периодически обновлялась в течение 2006 года. С тех пор отношение автора к HTML в электронной почте сильно изменилось (я больше не возражаю против этого, и даже отправляю его сам в некоторых контекстах). Эта страница больше не обновляется.

Хотите прокомментировать практику использования электронной почты в формате HTML (расширенный текст / форматирование)? Тема обсуждения для этой страницы доступна здесь.

Возможно, вы были перенаправлены на эту страницу, потому что отправленное вами сообщение было составлено в формате HTML. Это могло произойти без вашего ведома, потому что Microsoft Outlook по умолчанию настроен на отправку электронной почты в формате HTML всем получателям.Я считаю, что электронная почта в формате HTML — одна из самых уродливых вещей, которые Microsoft создала в Интернете, и эта страница существует для объяснения некоторых причин, по которым я так себя чувствую. Дело не в том, что я не думаю, что в электронной почте HTML есть какие-то приятные черты, просто я считаю, что приведенные ниже причины намного перевешивают любые преимущества, которые она дает.

Если вы уберете с этой страницы только одно, пусть будет так: когда вы отправляете электронное письмо в формате HTML, у вас нет гарантии, , что ваше сообщение будет A) вообще читаемым или B) визуально читаемым для получателя.С обычным текстовым электронным письмом у вас всегда есть такая гарантия, независимо от того, какой почтовый клиент использует получатель.

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

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


Содержание


HTML в электронной почте — плохая идея .

..
  • Потому что HTML предназначен для создания веб-страниц, а простой текст — для простого общения. Если вы хотите создать веб-страницу или написать книгу, прекрасно. Но сообщения электронной почты — это не веб-страницы или книги. электронная почта была разработана для простого обмена сообщениями. Все остальное снижает, а не добавляет к его основным функциям.Как сказал Энди Руни: «Электронная почта — это просто. Как карандаш, она просто работает». Что ж, электронная почта — это непросто — и это не всегда работает — когда задействован HTML.
  • Потому что это побуждает людей выражать свои мысли с помощью необычного форматирования. а не тщательно подобранными словами.
  • Потому что это создает проблемы совместимости с текстовыми клиентами, такими как сотни тысяч пользователей Pine (см. Снимок экрана ниже). Обновление: современные версии Pine и других текстовых клиентов могут нормально отображать альтернативную версию в виде обычного текста, так что это меньшая проблема, чем раньше.
  • SpamAssassin и многие другие фильтры спама оценивают «спамность» входящих сообщений по многим факторам, и форматирование HTML является одним из них. Невинное электронное письмо, которое обычно не запускает спам-фильтры, может получить более высокий рейтинг спама, если задействовано форматирование HTML.
  • Потому что это создает проблемы с доступностью. Когда вы пишете обычным текстом, получающий почтовый клиент отображает текст любым шрифтом, который выбирает читатель. Когда вы форматируете электронную почту с помощью HTML, отправитель контролирует форматирование.Но это ловушка: вы только думаете, что ваше сообщение будет отображаться для зрителя так же, как и для отправителя. На самом деле получатель может в конечном итоге щурить глаза из-за того, что шрифт выглядит таким крошечным, или наоборот. HTML — это , а не , отображаемый одинаково от одного просматривающего клиента к другому — вся гарантия доступности исчезает. Это особенно проблематично для слабовидящих.
  • Потому что он может вызвать проблемы с безопасностью и троянских коней — это путь к опасности, как вам скажет любой пользователь Outlook.HTML может включать любое количество скриптов, опасных ссылок, элементов управления и т. Д.
  • Потому что он занимает красивое, короткое двухстрочное тело электронного письма и делает его длиной 15 строк (см. Снимок экрана ниже).
  • Потому что это более чем удваивает размер сообщений электронной почты, поскольку клиенты «решают» проблему, отправляя простой текст и HTML-версии одного и того же сообщения электронной почты. Это, конечно, также означает повышенное потребление полосы пропускания, что — обратите внимание, все вы, любители фасоли и ИТ-специалисты — в конечном итоге приводит к увеличению затрат.
  • Потому что это делает программное обеспечение электронной почты больше, медленнее и сложнее, что значительно увеличивает вероятность сбоев и проблем совместимости, а также тратит впустую память, место на жестком диске и циклы ЦП. Подумайте об этом: для обработки электронной почты в формате HTML вы просто помещаете веб-браузер в своей почтовой программы! (Чтобы дать вам представление о том, насколько сильно некоторые люди относятся к этому, человек, который предоставил это, также сказал: «Многие думают, что это нормально, просто отключите опцию HTML, но по вышеуказанной причине я отказываюсь использовать почтовую программу. у него даже есть вариант .Я все еще использую Claris Emailer и никогда не переключусь ни на что другое (у меня дома есть старый Mac, который я использую только для электронной почты, поэтому мне не нужно беспокоиться о том, что когда-либо меня заставят перейти на «лучший» почтовый клиент) . »
  • Потому что люди тратят больше времени на выбор шрифта, которого у получателя, вероятно, даже нет в их системе, чем на тщательный подбор слов.
  • Потому что он наносит ущерб любому списку рассылки, который рассылает дайджесты.
  • Потому что это заставляет программистов, пишущих почтовые клиенты, выбирать между поддержка и реализация функций, которые действительно помогут обрабатывать электронную почту.
  • Потому что он без надобности нарушает стандарты и протоколы электронной почты. Большинство пользователей никогда не используют какие-либо «расширенные» параметры, а те, кто их используют, обычно переходят за бортом — обычно спамеры, использующие причудливые стили HTML как способ привлечь внимание.
  • Единственно возможные разумные цели для электронной почты HTML простые текстовые стили, такие как полужирный и курсив, которые могут быть выражены _in_ * другие * СПОСОБЫ, которые / универсальны / читабельны. 🙂
  • Потому что это побуждает компании думать, что это нормально, например, включать код, который сообщит им, если вы читаете их электронную почту.На самом деле это случилось с другом, который получил электронное письмо от infobeat, в котором он спрашивал, почему он не читает их ежедневные электронные письма с новостями. Считаю это грубым нарушением конфиденциальности.
  • Потому что его присутствие и соучастие общественности поощряют злоупотребление рекламным раздуванием в вашем почтовом ящике. Зная, что они могут делать привлекательные баннерные объявления, спамеры и корпорации (такие как Barnes и Noble) заполнят полстраницы рекламой того или иного, создавая визуальный и мысленный беспорядок, без которого нам всем было бы лучше.Мы получаем достаточно этого в Интернете — нам это также не нужно в наших почтовых ящиках. Мэтт Перви добавляет следующее наблюдение:
    Некоторые скажут, что реклама в значительной степени зависит от визуальных элементов. чтобы быть успешным. В большинстве случаев это правда; но не в компьютере промышленность. Изображение привода CD-RW абсолютно ничего нам не говорит о продукте, кроме того, что он существует. ТЕКСТ говорит нам что он записывает CDR на 16Х, записывает CDRW на 10Х и читает на 40Х. А изображение процессора бесполезно в рекламе.ТЕКСТ говорит нам, что это Процессор Intel Pentium 4, работающий на частоте 1.x Гигагерц, способный взрывные работы и т. д. и т. д.

Кари Чисхолм (Колледж Льюиса и Кларка) вносит свой вклад:

America Online удаляет и сжимает вложения, отправленные их пользователям. HTML-сообщение часто считается «вложением» к обычному электронному письму, и поэтому оно может никогда не найти своего адресата @ aol.com. Это особенно неприятно для людей, использующих AOL 5.0 и более ранние версии — почтовый клиент не был полностью совместим с MIME.См. Этот элемент часто задаваемых вопросов для получения дополнительной информации.

Подтверждение: Другие статьи на похожие темы

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

Wired News опубликовал интересную статью «Друзья не пишите друзьям по электронной почте» в формате HTML, которую стоит прочитать.

В «Реестре» есть статья о том, как тот факт, что вы не можете отключить получение электронной почты в формате HTML, может иметь какое-то отношение к тому, что Microsoft находится в кармане спама.

Исчерпывающий список причин, по которым почта на основе HTML и MIME является плохим выбором при настройке почтовых клиентов для отправки обычного текста ASCII.

Или попробуйте исследователи выявить новый Explorer, уязвимость безопасности Outlook на ComputerWorld.

Даже в базе знаний Apple есть статья, предупреждающая пользователей об опасности электронной почты в формате HTML.

Как ваша почта может выглядеть для других

Итак, вы тратите все это время на создание идеального макета для своего сообщения, нажимаете «Отправить» и предполагаете, что получатель увидит его таким же образом.Плохое предположение. Миллионы людей используют почтовые клиенты, несовместимые с HTML. Нет, нельзя просто сказать: «Ну, тогда им следует обновить». Это не так просто. Люди используют этих клиентов, потому что предпочитают их , а не потому, что они тупые или потому что у них нет новейших технологий. Люди используют их, потому что у них есть функции, которые они предпочитают Outlook и т. Д., Или потому, что они могут управлять ими через сеансы telnet с любого компьютера в мире, или потому, что они предпочитают антивирусную безопасность, которую они получают, избегая электронной почты в формате HTML.

Вот пример того, как ваше тщательно составленное электронное письмо в формате HTML может выглядеть для пользователя только одного из многих клиентов, которые не обрабатывают электронную почту в формате HTML (этот конкретный пример показывает BeatWare Mail-It для BeOS, но это просто пример).

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

Как видите, ваше сообщение практически не читается. Обратите внимание на ложь отправителя: «Мы категорически против использования нежелательной электронной почты …» Да, верно.

Как исправить проблему

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

Вот как это сделать в MS Outlook и Outlook Express:

Инструменты для опускания | Опции. Выберите вкладку Отправить. Посмотрите на раздел «Формат отправки почты». Измените переключатель с «HTML» на «Обычный текст».


Эл Адкок ([email protected]) добавляет:

Для Outlook 2000 это:

Инструменты | Опции | Щелкните вкладку Формат почты | выберите Обычный текст из Раскрывающееся окно, затем нажмите ОК!


Вот как это сделать в Hotmail

Вы можете быть уверены, что не отправляете электронную почту в формате HTML из учетных записей Hotmail, не используя опцию «Rich Text» в окне создания сообщения. Если вы покопаетесь в параметрах, я считаю, что есть параметр, который позволяет отключить панель Rich Text для всех сообщений.


Ксено ([email protected]) добавляет:

Вот как это сделать в Eudora (все типы) версии 4 и выше:

  1. В меню «Инструменты» выберите «Параметры».
  2. В списке «Категория» выберите «Стилизованный текст».
  3. Установите переключатель «Отправить только обычный текст».
  4. Снимите флажок «Отправить подпись со стилями».
  5. Снимите флажок «Спрашивать каждый раз».
Чтобы удалить HTML из сообщения, которое вы сейчас просматриваете в Eudora:
  1. Наведите курсор на текст сообщения и нажмите Ctrl-A, чтобы выбрать весь текст сообщения или выберите «Выбрать все» в меню «Правка».
  2. В меню «Правка» наведите указатель на каскадное меню «Текст» и выберите «Очистить». Форматирование.
В качестве альтернативы можно добавить команды «Выбрать все» и «Очистить форматирование». панель инструментов, чтобы упростить эту задачу.

Сент-Джон (StJ at mac dot com) добавляет:

Что-то, что можно сделать в Eudora, чтобы уменьшить раздражение от чужого HTML, — это снять отметку со всех кодов в Special: Settings …: Styled Text. Внизу этой панели есть раздел «При получении стилей обратите внимание на»; снятие отметки со всего делает HTML-почту похожей на обычный текст.


Вот как это сделать в Netscape Communicator:

  1. Щелкните Редактировать | Настройки
  2. Нажмите «Почта и группы новостей» (нажмите «+», чтобы развернуть)
  3. Нажмите «Форматирование»
  4. Выберите «Использовать текстовый редактор для создания сообщений»

Вот как это сделать в почте Apple.приложение:

  1. Pull down Mail | Предпочтения
  2. Выберите «Создание» в верхнем ряду значков.
  3. Измените «Формат сообщения по умолчанию» на «Обычный текст»
  4. Закройте панель настроек.
Вы также можете отключить отображение электронной почты в формате HTML, перейдя к значку «Просмотр» и сняв флажок «Загрузить все изображения, анимации и другие вложения в формате HTML».

Спасибо Lorin Meier (Lorin dot Meier at loherangrin dot de) за это.

Чан-Хо Су добавляет важную информацию к вышесказанному:

Боюсь, что снятие отметки с HTML-изображений и т. Д.Кнопка в настройках просмотра Apple Mail не останавливает отображение электронных писем в формате HTML. Скорее, он отключает изображения и другие встроенные объекты. Вы по-прежнему будете видеть текстовую часть электронного письма в формате HTML.

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

К счастью, есть способ заставить Apple Mail выбирать текстовую альтернативу, если таковая имеется. В настоящее время вы можете сделать это вручную для каждого электронного письма, выбрав пункт меню. Вот как это сделать автоматически:

Сначала выйдите из Apple Mail, затем откройте приложение «Терминал» и введите:

по умолчанию пишем com.apple.mail PreferPlainText -bool TRUE

Вот и все! В следующий раз, когда вы запустите Почту, вы заметите разницу. Чтобы отменить это изменение, выполните ту же команду еще раз, но с ЛОЖЬЮ в конце.


Вот как это сделать в MS Entourage для Mac OS X:

Несмотря на то, что это продукт Microsoft, Entourage — отличный вариант, потому что он дает вам вид интегрированной электронной почты, контактов, заметок, списков дел и календарей, которые вы получаете с Outlook, но без какой-либо вирусной уязвимости (все еще нет известные вирусы для Mac OS X или эксплойты для Entourage).

Чтобы отключить всю электронную почту HTML в Entourage, откройте Entourage | Настройки почты и новостей. Снимите флажок «Показать панель инструментов форматирования HTML» и установите в раскрывающемся списке «Формат почты» значение «Обычный текст».


Как отключить HTML в Mozilla 1.6 для Mac:

1. Нажмите «Изменить»
2. Выберите «Настройки учетной записи для почты и групп новостей»
3. Выберите «Состав и адресация»
4. Снимите флажок «Написать сообщение в формате HTML»


Вот как это сделать в Pegasus Mail:

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


Вот как это сделать в Calypso:

Генри Бейкер (hbaker @ ipa.net) добавляет:

Я использую отличный почтовый клиент Calypso с тех пор, как он впервые появился. В те дни, конечно, почтовые программы были простыми, и «форматированный текст» был оставлен там, где ему и положено — на веб-процессорах и внутренних текстовых процессорах. Но это было до того, как Гейтс вцепился во все своими грязными пальцами.

Как бы то ни было, я все эти годы использую Calypso v. 2x и просто никогда не удосужился обновиться до v3, когда она вышла. Тогда я решил на днях и обнаружил, что они прекратили программу.Они утверждали, что это не соответствовало их ожиданиям по доходам в достаточной степени, чтобы продолжать работу. Но в электронном письме я получил каталог разработчиков, откуда я мог его скачать, и оказалось, что это уже не 40 долларов — это было бесплатно. Какая сделка.

Это почтовый клиент мирового класса — на мой взгляд, лучший в мире. Если вам интересно взглянуть на это, я помещаю все файлы в каталог на своем веб-сайте:

http://www.10xshooters.com/calypso-free

Вот как отключить HTML в Calypso v.3x:

  1. Выделить имя почтового ящика в дереве;
  2. В верхнем меню щелкните Почтовый ящик;
  3. Щелкните «Свойства»;
  4. Щелкните вкладку Безопасность;
  5. Установите флажок «Отключить обмен сообщениями в формате RTF (HTML)»;
  6. Нажмите ОК.

Примечания к BareBone’s MailSmith для Mac (Classic и OS X):

Джейсон Дэвис (ucgajpd at ucl dot ac dot uk) отмечает:

Mailsmith отказывается отображать HTML, но (в настоящее время) предлагает упрощенную текстовую версию. Если вы хотите прочитать html, вам нужно открыть вложение в браузере. Таким образом, невозможно увлечься многими проблемами. По крайней мере, так вы сможете защитить себя от угрозы, если не получите ее. И вы точно не можете его отправить!

Взгляните на www.barebones.com, где можно найти почтового мастера, который по поиску, индексации, написанию сценариев и интерфейсу превосходит другие почтовые программы. Конечно, настройки настраивать не нужно …

Однако , анонимный читатель пишет, чтобы добавить:

На самом деле это БОЛЕЕ опасно, так как вы откроете локальный файл в браузере.Локальный часто подразумевает, что многие функции безопасности отключены, как в (ваша ссылка) «Исследователи обнаруживают новый Проводник, уязвимость безопасности Outlook».


MailMan

Если вы запускаете список рассылки на основе MailMan, вы можете отключить HTML-адрес для всего списка рассылки.

Перейдите на страницу «Фильтрация содержимого» в административном интерфейсе, выберите «преобразовать части текста / html в простой текст» и с любовью попрощайтесь с HTML-сообщениями в своем списке. Собственно, отправить их в небытие с пренебрежительным прощальным выстрелом больше похоже.


Хотите прокомментировать практику использования электронной почты в формате HTML (расширенный текст / форматирование)? Тема обсуждения для этой страницы доступна здесь.

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

Отправка электронных писем в формате HTML — eMailChef

Когда дело доходит до массового электронного маркетинга , сейчас необходимо отправлять только HTML-сообщения и избегать только текстовых сообщений.Почему? Поскольку отправка электронных писем в формате HTML позволяет вам:

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

Теперь лучший способ сделать это — положиться на профессиональную платформу отправки электронной почты , такую ​​как eMailChef.Конечно, даже если есть возможность отправлять электронные письма в формате HTML также с помощью обычных почтовых клиентов, таких как Thunderbird или Outlook, только специальное приложение позволяет максимально эффективно использовать этот важный маркетинговый инструмент.

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

и т. Д.пр.

Звучит немного сложно? Что ж, это так.

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

Но это еще не все.

Используя eMailChef, вы автоматически получаете интегрированную аналитику l, которая будет использовать преимущества электронной почты HTML, чтобы предоставить вам все соответствующие показатели каждой кампании.То есть вы будете получать в режиме реального времени такие данные, как процент открытий, рейтинг кликов, количество отказов от подписки, жалобы на спам и т. Д .: важную информацию для улучшения вашей стратегии рассылки.

Отправка электронной почты в формате HTML с помощью Go

В этом кратком руководстве я покажу вам, как отправить электронное письмо с помощью стандартной библиотеки Go. В конце этого руководства вы сможете отправить электронное письмо с информационным бюллетенем, как показано ниже :. Код использует внешнюю библиотеку, используя внешнюю внешнюю библиотеку.Он создает новое приложение и отправляет новый запрос с темой и адресом электронной почты, а затем вызывает метод отправки: «Отправить новое электронное письмо получателю». Отправить новое сообщение: «Отправьте сообщение на адрес электронной почты получателя. Отправить сообщение. Отправьте электронное письмо получателю »

Mohamed Labouardy

DevOps Engineer

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

Прежде чем я начну, весь код, используемый в этой демонстрации, можно найти на моем Github .

1 — HTML-шаблон

Кодирование Шаблон электронной почты — одна из задач, вызывающих слезы у разработчиков из-за огромных различий в рендеринге HTML / CSS между почтовыми клиентами. Почтовые клиенты не обрабатывают HTML так же, как браузеры . CSS-свойства , такие как float , background-image и даже поля , не должны быть частью вашего словаря при создании шаблона электронной почты HTML.Итак, как же тогда создать красивый HTML-шаблон электронного письма?

Вспомните 1999 год, что означает Таблицы , cellpadding , cellspacing , colspan . Все те гадости, которые, как вы думали, оставили позади, теперь ваши самые близкие друзья.

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

Итак, мы начнем с нашей таблицы-оболочки со 100% шириной и белым фоном.Я использовал cellpadding и cellspacing HTML атрибуты. Думайте о них как об использовании поля и отступов Свойства CSS:

Примечание. Внутри таблицы 4 строки:

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

Теперь мы можем начать процесс кодирования нашего информационного бюллетеня, раздел за разделом:

1. 1 — Заголовок

Заголовок довольно простой, это один столбец и текст в центре строки:

1.2 — Контент

Наш раздел контента довольно прост, это всего лишь абзац, поэтому кодирование прост:

Примечание. Часть {{.username}} будет заменена именем получателя при анализе HTML-шаблона механизмом шаблонов перед отправкой электронного письма.

1.3 — Кнопка подписки

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

Примечание: мы используем bgcolor вместо свойства CSS background .Это связано с тем, что значения HTML лучше поддерживаются в почтовых клиентах, чем свойства CSS.

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

1.4 — Нижний колонтитул

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

Примечание. Не забудьте добавить метатеги . :

Окно просмотра:

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

Кодировка:

Это важно для сохранения кодировки символов в различных почтовых клиентах.

На этом основной макет завершен:

2 — Кодирование Часть

2.2 — Mailer

Он отвечает за синтаксический анализ шаблона HTML и отправляет электронное письмо

2. 3 — Конфигурация почтовой программы

Отвечает за отображение файла конфигурации в объект Config

Файл конфигурации содержит SMTP-сервер Информация :

server = Smtp.gmail.com »
порт = 587
email =« ВАШ ЭЛЕКТРОННЫЙ АДРЕС »
пароль =« ПАРОЛЬ ЭЛЕКТРОННОЙ ПОЧТЫ »

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

go get github.com/BurntSushi/toml

2.4 — Основное приложение

Он создает новый запрос с темой письма и адресом электронной почты получателя, затем вызывает метод Send :

3 — Тестирование

Есть много клиентов для тестирования и много способов их протестировать, давайте рассмотрим небольшие наборы из клиентов электронной почты :

3. 1 — Yahoo

3.2 — Gmail

3.3 — Mozilla Thunderbird

3.4 — Microsoft Outlook

3.5 — Android Email (5.0)

Итак, как вы можете заметить над шаблоном, который мы создали также отзывчивый.

Связанные истории

Теги

Руководство по созданию и отправке электронных писем HTML с помощью Python

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

Однако, прежде чем мы начнем, вы должны знать, что существует довольно много статей и сообщений, в которых упоминается, что создание электронных писем в формате HTML — (очень) плохая идея. Этот пост был написан в 2002 году, когда веб-контент и электронная почта были намного проще, поэтому в наши дни отправка электронных писем в формате HTML — это нормально. Осмелюсь сказать, что электронные письма даже должны выглядеть красиво и, следовательно, использовать HTML и CSS.Было добавлено множество поддержки в почтовых клиентах, и вы можете видеть, что количество электронных писем в формате HTML растет с каждым днем. MailChimp или любой другой сервис электронного маркетинга предоставляет возможность создавать электронные письма на основе HTML, поэтому, если они это сделают, то это будет безопасно и для вас. Вы можете отправлять эти электронные письма в автоматическом режиме из магазина электронной коммерции. Если это так, я бы порекомендовал прочитать о наших 5 лучших методах тестирования электронной коммерции.

Вас интересует автоматизация тестирования? Прочтите наше руководство «Автоматизация тестирования: почти все, что вам нужно знать».

Однако, есть несколько предостережений, о которых вам следует знать! Давайте сначала перечислим некоторые из них…

Поддержка CSS

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

Когда вы используете CSS в HTML-письме, лучше всего просто поместить CSS в тег

! Важно; здесь важен из-за отсутствия лучшего слова, поскольку вы переопределите свои встроенные стили.

Не забудьте добавить в заголовок своего электронного письма:

  
  

Некоторые клиенты будут удалять любой CSS, который не был встроен в мобильные приложения Gmail до недавнего времени, поэтому этот адаптивный метод не будет работать для этих клиентов.Существуют и другие решения, которые действительно работают, и вы всегда можете выбрать макет со 100% гибкой шириной или узкий фиксированный макет для всех устройств.

Вот подход ActionRocket к разработке адаптивных писем.

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

  • Размер шрифта
  • .
  • Колонны
  • Набивка
  • Скрыть или показать элементы

У Анны Йеман есть длинный список медиа-запросов в поддержку по электронной почте, у Брайана Грейвса есть отличный веб-сайт со списком адаптивных ресурсов электронной почты, а у Campaign Monitor есть подробное руководство по созданию адаптивного электронного письма.

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

Пуленепробиваемые пуговицы

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

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

   Нажмите здесь 
  

Напишу так:

  
Нажмите здесь

Тогда, как только мой CSS будет встроен, он будет выглядеть так:

  
Нажмите здесь

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

Если вам нужно добиться идеального качества пикселей во всех клиентах, Стиг из Campaign Monitor создал удобный инструмент пуленепробиваемой кнопки.

Типографика

В общем, проще использовать стандартные системные шрифты . Сюда входят Helvetica, Arial и т. Д.

Однако мы можем использовать веб-шрифты, такие как шрифты Google.Вы должны поместить их за условным медиа-запросом WebKit, иначе Outlook испортит ваш тип, например.

  <стиль>
@import url (http://fonts.googleapis.com/css?family=Pacifico);

/ * Типовые стили для всех клиентов * /
h2 {
  семейство шрифтов: Helvetica, Arial, serif;
}

/ * Типовые стили для клиентов WebKit * /
@media screen и (-webkit-min-device-pixel-ratio: 0) {
  h2 {
    семейство шрифтов: Pacifico, Helvetica, Arial, serif! important;
  }
}

  

Подробнее о веб-шрифтах в электронной почте от ActionRocket.

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

Картинки и видео

Предполагается, что изображения по умолчанию отключены / заблокированы.

  • В Outlook, AOL, Yahoo изображения заблокированы по умолчанию
  • Apple Mail, iOS, Gmail включили изображения

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

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

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

  
  

Анимированные GIF-файлы поддерживаются большинством клиентов. Outlook 2007-2013 не поддерживает анимированные гифки . Они возвращаются к первому кадру.

Помимо криков Джона Хилла, анимированные гифки действительно полезны для объявлений о функциях в электронных письмах.

Видео поддерживается в iOS, Apple Mail, Outlook.com . Вы можете использовать медиа-запросы, чтобы показать / скрыть видео в зависимости от клиента. Подробнее о видеоподдержке по электронной почте на сайте Email on Acid.

Кевин Мандевиль написал этот отличный учебник по кодированию видео HTML5 в качестве фона для электронного письма. Впечатляющий материал, на который стоит посмотреть.

Не забудьте, что сжимает ваши медиаресурсы и загружает их в CDN (сеть доставки контента, e.г. Rackspace или AWS). Большинство ESP справятся с этим за вас.

SVG (масштабируемая векторная графика) имеет много преимуществ при использовании в Интернете. Как и следовало ожидать, поддержка по электронной почте различается, и для них требуется несколько запасных хаков / условий. Обычно я избегаю SVG в электронной почте.

Иконочные шрифты, такие как Font Awesome, попадают в ту же корзину, что и веб-шрифты (см. Выше). Клиенты WebKit могут их поддерживать, а могут и не поддерживать.

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

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

Формы

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

Очевидно, это зависит от ваших целей. Безопаснее держаться подальше от форм, но я видел, как RebelMail и MixMax делают интересные вещи с формами для опросов и электронной коммерции с хорошей резервной поддержкой.

Что, черт возьми, такое VML?

VML (язык векторной разметки) поддерживается Outlook. Честно говоря, я никогда не использую его и стараюсь создавать электронные письма так, чтобы не думать об этом.

Vector Markup Language (VML) устарел в Internet Explorer 10 (особенности и 10 режимов работы с документами).- Microsoft

VML - это , который больше не поддерживается в новых версиях IE , хотя пока существует Outlook 2007/10/13, вы увидите, что он используется. Обычно для фоновых изображений.

Могу ли я использовать CSS3 и HTML5?

Вроде. Обязательно помните о прогрессивном улучшении при их использовании.

Недавно я перешел на использование документа HTML5, но не на другие элементы HTML5.

CSS3 мудрый, как и Интернет, если вы включаете закругленные углы, тени блоков и т. Д.они откажутся от клиентов, которые их не поддерживают. Например, CSS-анимация поддерживается в клиентах WebKit. Все сводится к тому, что такое механизм рендеринга для каждого клиента.

Как включить действия Gmail в строку темы?

Это удобные действия, доступные для Gmail. Вы, наверное, видели их на таких сайтах, как GitHub для проблем или Amazon для заказов.

Добавить код очень просто. У вас есть два варианта:

  1. JSON-LD
  2. Микроданные

Чтобы попасть в белый список, нужно выполнить еще несколько шагов.Вы можете проверить действия Gmail с адресом @ gmail.com.

Некоторые клиенты показывают дополнительное описание рядом или под строкой темы. Эти клиенты включают iOS, Apple Mail, Outlook 2013, Gmail, AOL.

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

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

   Здесь идет текст предзаголовка 
  

Используйте этот инструмент темы / предзаголовка от Остина Вудалла для предварительного просмотра тем и предзаголовков электронной почты.

Как проверить электронную почту перед ее отправкой?

Я всегда использую Litmus, а также отправляю себе электронную почту и проверяю ее на 2 или 3 устройствах. Электронная почта на Acid кажется хорошей альтернативой.

Заключение

Создание электронной почты в формате HTML во многом похоже на создание веб-страницы.10 лет назад.

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

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

Что я пропустил? Какой совет вы бы добавили в этот список для любого читающего?

.
Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *