SMTP (Simple Mail Transfer Protocol) – это простой протокол передачи почты. Он представляет собой набор коммуникационных инструкций, согласно которым программы передают электронную почту через Интернет.
Для чего предназначен SMTP? Он обеспечивает обмен почтой между пользователями на одном или разных компьютерах, а также поддерживает:
- Отправление сообщения одному или нескольким получателям.
- Отправку сообщений с текстом, аудио, видео или графикой.
- Отправления в сетях за пределами Интернета.
Основная цель SMTP — установить правила связи между серверами. У каждого сервера есть способ идентифицировать себя и объявить, какой тип связи он пытается осуществить. У них также есть способ обработки ошибок, например, неправильных почтовых адресов. Если электронный адрес получателя неверный, то принимающий сервер ответит сообщением об ошибке.
Компоненты SMTP
Разделим SMTP-клиент и SMTP-сервер на два компонента: пользовательский агент (UA) и агент передачи почты (MTA). Пользовательский агент (UA) подготавливает сообщение, создает конверт и затем помещает сообщение в конверт. Агент передачи почты (MTA) передает эту почту через Интернет.
SMTP позволяет создать более сложную систему за счет добавления системы ретрансляции. Вместо того, чтобы иметь один MTA на отправляющей стороне и один на принимающей, можно добавить больше MTA, которые будут действовать как клиент или сервер для ретрансляции электронной почты.
Система ретрансляции без протокола TCP/IP также может использоваться для отправки электронных писем пользователям за счет почтового шлюза. Почтовый шлюз — это ретранслятор MTA, который можно использовать для получения электронной почты.
Как работает SMTP
1. Подготовка почты: пользователь составляет сообщение электронной почты с помощью почтового агента пользователя (MUA), программы для отправки и получения почты. Сообщение состоит из двух частей: заголовка и тела письма. Тело включает основной текст письма, а в заголовок входят адреса отправителя и получателя, а также тема сообщения.
2. Отправка почты: готовое письмо почтовый клиент отправляет на SMTP-сервер через TCP-порт 25.
3. Доставка почты: адреса электронной почты состоят из двух частей: имени получателя и имени домена. Например, ivanov@gmail.com, где «ivanov» — это имя получателя, а «gmail.com» — доменное имя.
Если доменное имя получателя отличается от доменного имени отправителя, MSA отправит почту агенту пересылки почты (MTA). Тот найдёт целевой домен и ретранслирует электронную почту.
4. Получение и обработка почты: как только входящее сообщение будет получено, сервер обмена доставляет его на сервер входящей почты (агент доставки почты), который сохраняет электронную почту до получения её пользователем.
5. Доступ и извлечение почты: Сохраненную электронную почту можно получить с помощью MUA (почтового агента пользователя). Доступ к MUA осуществляется с использованием логина и пароля.
Основные команды SMTP
EHLO (ранее HELO). Нужна для установки соединения. Выполняется только если клиент указал свой домен и адрес почты.
MAIL – команда, которая нужна для задания адреса отправителя.
RCPT позволяет прописать адрес получателя. Чтобы отправить письмо нескольким получателям, нужно ввести эту команду несколько раз.
DATA позволяет уведомить принимающий сервер о завершении конверта, после которого следует непосредственно письмо.
QUIT служит для разрыва соединения с сервером после окончания приема сообщения.
Свой сервер SMTP – нужен ли
Он требуется в том случае, если нужно реализовать широкий спектр задач при отправке сообщений. Например, для транзакционных писем или массовых рассылок.
Собственный SMTP имеет низкую цену и высокий уровень доставляемости массовых рассылок. Он прост для внедрения и имеет обширную документацию от увлечённого сообщества.