Что такое SMTP-гейт
SMTP-гейт – это способ передачи нам заданий на отправку писем через SMTP-протокол. Разница между API и SMTP в использовании протокола передачи данных: SMTP или HTTP протокол. По SMTP-протоколу для отправки на сервер используется последовательность команд.
Авторизация и отправка сообщения
enKod аутентификация осуществляется с помощью SMTP-ключей. Получите от вашего персонального менеджера SMTP-ключ для использования SMTP-гейта.
Подключение к SMTP-серверу осуществляется по адресу: smtpgateway.enkod.io:587
Используйте следующую последовательность команд:
STARTTLS- после ввода этой команды все дальнейшее общение между клиентом и сервером проходит по зашифрованному TLS протоколу.EHLO- приветственное сообщение, в ответ получаем список настроек сервераAUTH PLAIN- закодированный в base64 логин и пароль (для аутентификации требуется ввести только SMTP API-ключ в качестве пароля, логин оставить пустым)MAIL FROM- емейл, с которого будет отправлено сообщениеREPLY-TO- емейл, на который будет отправлен ответ. Если заголовок не заполнен, то по умолчанию подставляется емейл отправителяRCPT TO- емейл, на который отправляется сообщениеDATA- после ввода этой команды можно вводить само тело сообщение с заголовками.
Пример запроса на отправку через openssl
s_client -starttls smtp -connect smtpgateway.enkod.io:587
ehlo testmail.ru
auth plain AABfN3lhTUZtcm5hZ251VFRXR1lueVNiQWNLX2R4VTh4WWVYdzV2UzBYXVpMQ==
mail from:test@testmail.ru
rcpt to:test2@testmail.ru
data
Date: Thu, 29 Sep 2022 15:42:13 GMT
From: test@testmail.ru
To: test2@testmail.ru
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- отправляющий емейл не соответствует структуре name@domain.comno username or password- не используется аутентификация AUTH PLAINapi key doesn't have accesses- для API-ключа нет доступа к SMTPclient is deleted- аккаунт неактивен или удаленinternal service error- внутренняя ошибка сервисаwrong api key- API-ключ недействителен