- Home »

Как работает SMTP-сервер?
Введение: Почему важно понимать, как работает SMTP?
Если вы владелец сайта, SEO-шник, вебмастер или просто человек, который хочет делать рассылки (будь то легальные или не очень), рано или поздно вы упрётесь в вопрос: как вообще работает отправка писем через интернет? Почему одни письма доходят, а другие попадают в спам или вообще теряются? Вся эта магия крутится вокруг SMTP-сервера — штуки, без которой email-маркетинг, уведомления с сайта или даже базовая переписка существовать не могут.
В этой статье я разложу по полочкам, что такое SMTP, как он устроен, как его можно использовать (и когда лучше не стоит), какие частые ошибки совершают новички и как не попасть в бан у почтовиков. Всё — простым языком, но без воды.
Что такое SMTP и зачем он нужен?
SMTP (Simple Mail Transfer Protocol) — это стандартный протокол для передачи электронной почты через интернет. Именно через него ваш сайт, скрипт или почтовый клиент отправляет письма на другие сервера. Проще говоря, SMTP — это “почтовый ящик”, который отправляет ваши письма дальше по цепочке. Без него массовая рассылка невозможна.
- SMTP-сервер — программа/служба, которая принимает, отправляет и пересылает email-сообщения.
- SMTP-клиент — например, ваш сайт, скрипт, Outlook, Thunderbird, etc.
Когда вы отправляете письмо через форму на сайте или с помощью скрипта, оно сначала попадает на SMTP-сервер, а уже он занимается доставкой письма до адресата (или его почтового сервера).
Как работает SMTP-сервер: пошагово и на пальцах
- Инициация соединения: Ваш скрипт или почтовый клиент подключается к SMTP-серверу по определённому порту (обычно 25, 465 или 587).
- Аутентификация: (не всегда, но почти всегда для рассылок) — логин и пароль, чтобы убедиться, что вы не спамер.
- Передача письма: Сервер получает от вас письмо с адресом получателя, темой, телом и вложениями.
- Доставка: SMTP-сервер либо отправляет письмо напрямую на сервер получателя, либо пересылает его дальше по цепочке SMTP-серверов.
- Ответ: Сервер сообщает вам, что письмо принято (или выдал ошибку — например, из-за неверного адреса или блокировки).
Вот простая схема:
- Вы → SMTP-клиент (скрипт, сайт, почтовик) → SMTP-сервер → Почтовый сервер получателя → Входящие адресата
Пример: Отправка письма через telnet
Если хочется “пощупать” SMTP руками, вот пример отправки письма через telnet:
telnet smtp.example.com 25
EHLO mydomain.com
AUTH LOGIN
(вводим логин и пароль в base64)
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
Subject: Test email
Hello, this is a test.
.
QUIT
Это базовые SMTP-команды. В реальных скриптах всё проще — всё делает библиотека (например, PHPMailer или Python smtplib).
Плюсы и минусы разных SMTP-подходов
Вариант 1: Свой SMTP-сервер
- Плюсы: полный контроль, нет ограничений на рассылку, можно кастомизировать всё что угодно.
- Минусы: сложная настройка (SPF, DKIM, DMARC), нужна белая IP, легко попасть в блэклист, требует постоянного обслуживания.
Вариант 2: SMTP-провайдер (Mailgun, SendGrid, Яндекс, Gmail и т.д.)
- Плюсы: не надо возиться с настройкой, высокая доставляемость, API, отчёты, антиспам-фильтры.
- Минусы: есть лимиты, платно при больших объёмах, нельзя отправлять “серые” рассылки.
Вариант 3: SMTP через почтовый ящик (mail.ru, gmail и прочие)
- Плюсы: быстро и просто для небольших задач.
- Минусы: очень быстро банят при подозрении на спам, лимиты по отправке, часто падает в спам.
Практические советы по настройке SMTP
- Для массовых рассылок используйте специализированные SMTP-платформы (Mailgun, SendPulse, UniSender, SendGrid, Amazon SES и т.д.).
- Если настраиваете свой сервер — обязательно прописывайте SPF, DKIM, DMARC (иначе письма будут улетать в спам).
- Проверяйте свой IP и домен на наличие в блэклистах.
- Не используйте бесплатные SMTP-почты для массовых рассылок — это гарантированный бан.
- Для тестов можно использовать Mailtrap — он имитирует SMTP-сервер без реальной отправки писем.
Примеры кода
Отправка письма через SMTP на PHP (с помощью PHPMailer):
use PHPMailer\PHPMailer\PHPMailer;
$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'password';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('[email protected]', 'Mailer');
$mail->addAddress('[email protected]', 'Recipient');
$mail->Subject = 'Test';
$mail->Body = 'Hello World!';
$mail->send();
Python (smtplib):
import smtplib
from email.mime.text import MIMEText
msg = MIMEText('Hello World!')
msg['Subject'] = 'Test'
msg['From'] = '[email protected]'
msg['To'] = '[email protected]'
server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()
server.login('[email protected]', 'password')
server.sendmail('[email protected]', ['[email protected]'], msg.as_string())
server.quit()
Кейсы: успехи и фейлы
Позитивный пример
SEO-шник делает рассылку по базе клиентов через SendGrid. Внедряет SPF, DKIM, DMARC, прогревает домен, не спамит — доставляемость 98%, конверсия высокая, IP не в чёрных списках.
Негативный пример
Вебмастер запускает массовую рассылку с VPS на “чистой” почте. Не настраивает SPF/DKIM, отправляет по 5000 писем в час. Через 2 дня IP и домен в бане, письма не доходят, сервер в блэклистах, восстановить репутацию почти невозможно.
Бонус: ошибки новичков, советы и мифы
- Ошибка: Не настраивать SPF/DKIM/DMARC.
Совет: Делайте это сразу, иначе смысла в рассылке нет. - Ошибка: Использовать бесплатные SMTP-почты (gmail, mail.ru) для рассылок.
Совет: Только для тестов и личных писем. - Ошибка: Слишком высокая скорость отправки.
Совет: Прогревайте домен, начинайте с малых объёмов. - Миф: “Если письмо ушло — оно точно дойдёт”.
Реальность: Почтовики могут фильтровать, задерживать, отправлять в спам или вообще не доставлять. - Миф: “Можно купить базу и сразу рассылать”.
Реальность: Это 99% попадание в спам и бан домена/IP. - Похожее решение: API рассылок (например, Mailgun API) — часто удобнее, чем чистый SMTP, особенно для сложных сценариев.
Часто задаваемые вопросы
- Какой порт использовать? 25 (стандартный, но часто заблокирован), 465 (SSL), 587 (TLS, чаще всего для авторизации).
- Могу ли я отправлять письма без SMTP? Нет, только если через API почтового сервиса, но внутри всё равно используется SMTP.
- Что делать, если письма попадают в спам? Проверить настройки SPF/DKIM, не использовать “спамные” слова, прогреть домен, уменьшить объём рассылки, проверить IP на блэклистах.
Заключение: почему SMTP — это важно и как не облажаться
SMTP — это сердце любой email-рассылки. Понимание его принципов экономит нервы, деньги и репутацию. Настраивайте SPF/DKIM/DMARC, не используйте бесплатные SMTP для рассылок, не покупайте “левых” баз, выбирайте проверенные SMTP-сервисы. Для массовых рассылок — только платные платформы, для тестов — Mailtrap. Если всё делать с умом, ваши письма будут доходить, а не улетать в спам.
Официальные ссылки:
Удачных рассылок! Если есть вопросы — пишите в комментарии или в личку. 😉
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.