hostprofi.ru
Подобрать хостинг
Термин·буква S

SMTP

краткое определение

SMTP (Simple Mail Transfer Protocol) — протокол отправки электронной почты. Используется почтовыми серверами для передачи писем между узлами; клиенты отправляют почту через порт 587 (SUBMISSION) или 465 (SMTPS).

SMTP (Simple Mail Transfer Protocol) — прикладной протокол TCP/IP для передачи электронной почты. Работает в двух направлениях: между почтовыми серверами (server-to-server, порт 25) и от почтового клиента к серверу (client-to-server, порты 587 или 465). Определён в RFC 5321 (2008) — актуальная версия.

Как работает

Отправка письма через SMTP — последовательность команд: EHLO client.domain.com — приветствие, запрос расширений. AUTH LOGIN — аутентификация (или PLAIN, CRAM-MD5). MAIL FROM:<sender@domain.com> — адрес отправителя. RCPT TO:<recipient@domain.com> — адрес получателя. DATA — начало тела письма. . — конец тела письма. QUIT — завершение сессии.

Порты SMTP: 25/TCP — для relay между серверами (большинство провайдеров блокируют исходящий порт 25 на VPS для борьбы со спамом). 587/TCP — SUBMISSION с обязательной аутентификацией и STARTTLS. 465/TCP — SMTPS (SSL с первого байта, старый стандарт, вернулся в RFC 8314, 2018).

SPF, DKIM, DMARC — расширения для аутентификации отправителя, добавленные поверх SMTP для борьбы со спамом. SMTP не имеет встроенной аутентификации отправителя — любой может указать любой MAIL FROM.

История

SMTP разработан Джонатаном Постелом (Jonathan Postel) в 1982 году (RFC 821). Изначально не имел аутентификации и шифрования — письма передавались в открытом виде. ESMTP (Extended SMTP, RFC 1869, 1995) добавил расширения. STARTTLS для шифрования — RFC 3207 (2002). Сервер отправки для клиентов на порту 587 стандартизирован в RFC 2476 (1998).

Диагностика проблем SMTP

Основные команды для диагностики SMTP вручную:

# Проверить подключение к MX-серверу:
telnet mx.example.com 25

# SMTP-диалог вручную:
EHLO test.local
MAIL FROM: <test@example.com>
RCPT TO: <recipient@gmail.com>
DATA
Subject: Test
Test message.
.
QUIT

# Проверить SPF/DKIM/DMARC:
dig TXT example.com | grep spf
dig TXT default._domainkey.example.com

Коды ответа SMTP: 2xx — успех, 4xx — временная ошибка (повторить позже), 5xx — постоянная ошибка (не повторять). Код 550 означает отклонение по репутации или SPF. Код 421 — сервер перегружен. Проверка IP в блэклистах: mxtoolbox.com/blacklists или через dig TXT дополнительного поля .zen.spamhaus.org.

На что обращать внимание

Отправка почты с VPS: порт 25 часто заблокирован хостером для предотвращения спама. Для почтовых рассылок лучше использовать внешние SMTP-сервисы (Mailgun, SendGrid, Postmark) с API — они имеют хорошую репутацию IP. Самостоятельный почтовый сервер (Postfix + Dovecot) требует настройки PTR-записи, SPF, DKIM, DMARC — без этого письма попадают в спам.

SMTP на VPS

Отправка почты с VPS требует корректных DNS-записей: SPF, DKIM, DMARC, обратная PTR-запись (rDNS) — без PTR почта попадёт в спам. Postfix — стандартный MTA для Linux, настраивается за 30 минут. Exim — в cPanel/HestiaCP. Для транзакционной почты (регистрации, заказы) лучше использовать managed SMTP-сервисы: SendGrid, Mailgun, AWS SES — IP уже «прогреты», deliverability выше. Блок порта 25 (SMTP) провайдерами — распространённая практика на дешёвых VPS: используйте submission port 587 для отправки.

Другие термины