Протокол SMTP. Удобный обмен электронной почтой

12.03.2024
Dev

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

Что такое SMTP

Для начала выясним, что именно скрывает под собой понятие.

Simple Mail Transfer Protocol (SMTP) – это сетевой протокол отправки электронной почты в сетях TCP/IP. Он используется каждый раз при передаче писем посредством менеджеров рассылок, веб-сервисов и десктопных программ.

Стоит отметить, что в исконном смысле протокол фактически не используется. Говоря о нем, чаще всего подразумевают его более современную расширенную версию ESMTP (Extended SMTP) – продвинутое решение, по которому и происходит отправка писем сегодня.

Протокол SMTP предназначен для отправки сообщений и не обрабатывает входящую корреспонденцию. Все сообщения поступают на сервер, где происходит их обработка и последующая пересылка. Прием писем на стороне получателя производится по другим протоколам — POP/IMAP.

Как работает протокол SMTP

В общем виде ключевых функций у протокола две: 

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

С первых дней появления основной порт SMTP сервера это порт №25. Другой порт №587 отправляет письмо от почтового клиента на сервер. При защищенном SSL-соединении используется порт №465. Порт №25 могут заблокировать, чтобы предотвратить прием нежелательных писем.

Существует и такое понятие, как адрес сервера SMTP. Это адрес, который предоставляет поставщик услуг электронной почты, он также применяется для пересылки писем.

Этапы и правила работы протокола СМТП

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

  • Сервер-отправитель SMTP получает команду по отправке письма, ищет сервер-получатель, устанавливает провайдера и получает IP-адрес сервера адресата.
  • Сервер-отправитель устанавливает соединение с сервером-получателем. Письмо доставляется с сервера-отправителя на сервер SMTP через порт 25.
  • При отсутствии ответа от сервера-получателя, попытка отправки повторяется еще несколько раз. При отсутствии ответа после него отправитель получает сообщение об ошибке.
  • При успешной доставке формируется сообщение об этом.

Основные правила отправки электронной корреспонденции по сетевому протоколу SMTP:

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

Команды и ответы протокола SMTP

Все команды SMTP состоят из 4 символов. Вот основные команды:

HELO – установка соединения, от отправителя требуется домен.

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

MAIL – указание адреса отправителя.

DATA – отметка о завершении конверта и перехода к телу письма.

RSET – сброс соединения.

HELP – запрос списка возможных команд.

QUIT – разрыв соединения с сервером после доставки письма получателю.

В качестве реакции на команды от сервера СМТП исходят ответы. Они состоят из кода и текста сообщения. Код демонстрирует корректность отправки, он может начинаться с цифр 2, 3 или 5. Таким образом, 2 – команда выполнена успешно. 3 – не хватает данных для выполнения команды 5 – произошел сбой в исполнении команды.

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

Типы SMTP-серверов

Протокол работает с обычными серверами и серверами ретрансляции. От типа зависит порядок и итоги работы.

Обычные серверы подходят для пересылки личной электронной корреспонденции.

Серверы ретрансляции применяются для массовых рассылок без угрозы бана IP-адреса.

Также серверы SMTP разделяют по типу:

  • Провайдеры. Такие серверы не нуждаются в настройке, однако присутствуют лимиты на количество отправляемых писем.
  • Электронный адрес на бесплатной почте. Например, от Gmail или Yandex. Лимит все так же присутствует – 500 писем в сутки.
  • Хостинг-провайдеры. Сервер хостинга можно использовать при наличии своего веб-сайта, при этом домен сайта и адреса будут совпадать. Чтобы избежать блокировки IP-адреса приобретается виртуальный сервер SMTP – VPS.
  • Транзакционные сервисы. В таком сервисе можно завести аккаунт, указать ваш адрес и управлять передачей писем по SMTP от разных источников, в том числе веб-сайта, CRM-системы, приложений. Плюсом таким сервисов является также возможность просмотра статистики открытий, переходов и др. Также можно создавать шаблоны писем.
  • Сервисы электронных рассылок. Такой SMTP сервис – это специализированное решение для массовых электронных рассылок. Он позволяет получать самую подробную аналитику, разделять получателей по сегментам. При этом сервисы в большинстве случаев не требуют программных изменений и полностью готовы к работе. Тем не менее, это один из самых дорогих вариантов.
  • Собственный STMP-сервер. Такое решение предоставляет полную управляемость, однако создание любого функционала под свои нужды потребует привлечения разработчиков и написания кода.

SMTP сервер можно развернуть на инфраструктуре МИРАН. Для этого арендуйте выделенный сервер: https://miran.ru/services/dedicated

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

Пример сеанса по протоколу SMTP

Приведем наглядный пример сеанса отправки электронного письма по протоколу.

На приведенном примере, мы отправляем запрос на соединение с сервером SMTP с указанием своего домена. Сервер сигнализирует при помощи кода 250, что общение можно продолжить.

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

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

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

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

Сервер ответил, что письмо присвоен ID и оно попало в очередь на отправку.

Отправляем команду на прекращение соединения. Сервер попрощался. Соединение прервано.

Преимущества протокола SMTP

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

  • Возможность отправки массовых рассылок с обходом лимитов от провайдеров.
  • Фильтрация спама.
  • Предоставление информации о причинах недоставки – достаточно ознакомиться с ответами сервера при отправке корреспонденции.
  • Защита данных пользователей, которые хранятся на сервере-отправителе, а не на сервере SMTP.
  • Экономия средств на массовые рассылки благодаря бюджетности SMTP в сравнении с классическими email-сервисов.
  • Простота работы благодаря тому, что все команды протокола известны.

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

Защита данных и SMTP

С 1999 года сетевой протокол SMTP обладает технологией аутентификации отправителей для безопасности передачи писем – профилем SASL (Simple Authentication and Security Layer). Наряду с портом 465 инструмент защищает получателей от спама еще на этапе обработки писем.

Как правило, обычных пользователей защищают от спама интегрированные механизмы защиты в почтовые сервисы. Например, Microsoft имеет собственный защитный протокол SPA (Secure Password Authentication) с функцией аутентификации.

Также обновленная версия SMTP располагает командой STARTTLS для шифрования данных.

Выводы

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