Что такое SMTP-гейт

SMTP-гейт – это способ передачи нам заданий на отправку писем через SMTP-протокол. Разница между API и SMTP в использовании протокола передачи данных: SMTP или HTTP протокол. По SMTP-протоколу для отправки на сервер используется последовательность команд.

Авторизация и отправка сообщения

enKod аутентификация осуществляется с помощью SMTP-ключей. Получите от вашего персонального менеджера SMTP-ключ для использования SMTP-гейта.

Подключение к SMTP-серверу осуществляется по адресу: smtpgateway.enkod.ru:587

Используйте следующую последовательность команд:

  • STARTTLS - после ввода этой команды все дальнейшее общение между клиентом и сервером проходит по зашифрованному TLS протоколу.
  • EHLO - приветственное сообщение, в ответ получаем список настроек сервера
  • AUTH PLAIN - закодированный в base64 логин и пароль (для аутентификации требуется ввести только SMTP API-ключ в качестве пароля, логин оставить пустым)
  • MAIL FROM - емейл, с которого будет отправлено сообщение
  • REPLY-TO - емейл, на который будет отправлен ответ. Если заголовок не заполнен, то по умолчанию подставляется емейл отправителя
  • RCPT TO - емейл, на который отправляется сообщение
  • DATA - после ввода этой команды можно вводить само тело сообщение с заголовками.

Пример запроса на отправку через openssl

s_client -starttls smtp -connect smtpgateway.enkod.ru:587
ehlo testmail.ru
auth plain AABfN3lhTUZtcm5hZ251VFRXR1lueVNiQWNLX2R4VTh4WWVYdzV2UzBYXVpMQ==
mail from:[email protected]
rcpt to:[email protected]
data
Date: Thu, 29 Sep 2022 15:42:13 GMT
From: [email protected]
To: [email protected]
Subject: subject
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xmlns:o="urn:schemas-microsoft-com:office:office" style="font-family:'open sans', 'helvetica neue', helvetica, arial, sans-serif">
<head>
<meta charset="UTF-8"/>
<meta content="width=device-width, initial-scale=1" name="viewport"/>
<meta name="x-apple-disable-message-reformatting"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta content="telephone=no" name="format-detection"/>
<title>title</title><!--[if (mso 16)]>
<style type="text/css">
a {text-decoration: none;}
</head>
<html>
<body>
message body
</body>
</html>

Возможные ошибки

  • invalid from email - отправляющий емейл не соответствует структуре [email protected]
  • no username or password - не используется аутентификация AUTH PLAIN
  • api key doesn't have accesses - для API-ключа нет доступа к SMTP
  • client is deleted - аккаунт неактивен или удален
  • internal service error - внутренняя ошибка сервиса
  • wrong api key - API-ключ недействителен
Последнее изменение: 2024.04.01 08:24 — Elizaveta Ivannikova