Раздел помощи SpaceWeb

Что такое SMTP-сервер

13 дек, 2023

Если вы хотите разобраться, что означает аббревиатура SMTP, читайте нашу статью. Мы подробно рассмотрим понятие Simple Mail Transfer Protocol, а также расскажем о принципах работы СМТП-сервера и особенностях его настройки.

Чтобы лучше понять логику работы СМТП, для начала рассмотрим, что такое электронная почта и почтовые серверы, как они работают и в чём отличие между сервером входящей и исходящей почты.

Как работает почтовый сервер и  электронная почта в целом

Пересылка электронной почты — это целая цепочка взаимодействий, которая состоит из четырех основных звеньев. Первые два звена — это веб-интерфейс (либо почтовый клиент) и почтовый сервер отправителя. А третье и четвертое звенья — это тоже веб-интерфейс (либо почтовый клиент) и почтовый сервер, но уже получателя.

Чем отличаются веб-интерфейс и почтовый клиент? Веб-интерфейс — это специальный графический сервис, доступный только в интернете через браузер. Например: Яндекс.Почта, Mail.ru, Gmail, Рамблер и другие. Это знакомый всем веб-сервис, в котором можно создавать электронные почтовые ящики и использовать их для своих целей. А почтовый клиент — это программа, которая помогает управлять сразу несколькими такими электронными ящиками из одного места. Почтовый клиент можно запускать напрямую с компьютера — для работы ему не нужен интернет. Примеры клиентов: Thunderbird, Mailbird Lite, Microsoft Outlook,TouchMail.

Таким образом, веб-интерфейс и почтовый клиент — это варианты входа в email и управления им.

Какое отношение к этим сущностям имеет почтовый сервер? В системе пересылки электронной почты именно он отвечает за передачу и прием сообщений. Почтовые серверы закреплены за каждым почтовым ящиком. Например, за ящиками на базе Mail.ru закреплены серверы компании Mail.ru Group, а за ящиками на базе Gmail — серверы компании Google. Чтобы разобраться зачем это нужно, рассмотрим по шагам, как работает электронная пересылка.

Представим, что вы создали email-адрес test-sw@gmail.ru и решили отправить с него сообщение. Для этого вы откроете веб-интерфейс Google-почты, введете сообщение и адрес, а затем нажмете кнопку «Отправить». Казалось бы, на этом всё — теперь письмо окажется у адресата. Однако это не так. На технической стороне отправка сообщения состоит из большего количества шагов:

  1. Сначала письмо попадет на один из серверов компании Google.
  2. Затем сервер Google проверит ваше письмо на спам.
  3. После этого он займется поиском того сервера, который закреплен за почтовым ящиком адресата, а когда найдет, — установит с ним соединение (например, это будет сервер Яндекса) и перешлет ему ваше письмо.
  4. Теперь ваше сообщение окажется уже на сервере Яндекса, который тоже проверит его на спам.
  5. Если всё в порядке, он перенаправит сообщение непосредственно на email адресата.

Только после этого адресат сможет посмотреть его содержимое (через веб-интерфейс или почтовый клиент).

А когда он захочет ответить, с отправленным им письмом произойдёт то же самое, но уже в обратном порядке. При этом в пересылке письма, скорее всего, будут участвовать уже другие сервер-отправитель и сервер-получатель. Почему так произойдет?

Дело в том, что привязать конкретный почтовый адрес (например test-sw@gmail.ru из нашего примера) к конкретному серверу-отправителю или серверу-получателю не получится. Это связано с нагрузкой на машины, которая меняется каждую секунду. Система выбирает сервер каждый раз — она ищет тот, у которого достаточно свободных ресурсов, чтобы выполнить все шаги и доставить сообщение в целостности. Поэтому для отправки сообщения каждый раз назначают новый «входящий» или «исходящий» сервер.

Входящий и исходящий серверы — в чём разница

Не бывает специальных серверов, которые подходят только для входящей или только для исходящей почты. Как будет работать машина (принимать или отправлять сообщения) зависит только от настроек. Любой сервер можно настроить:

  1. на прием сообщений;
  2. на отправку сообщений;
  3. и на прием и на отправку одновременно.

Какие настройки лучше использовать? Это зависит от конкретных целей, количества серверов в вашем распоряжении и доступной нагрузки на них. Чтобы правильно настроить сервер пересылки, нужно выбрать подходящий протокол.

Протокол передачи данных — это набор правил или соглашений, по которым происходит обмен данными между различными программами. Так сервер входящих сообщений работает благодаря протоколам POP3 и IMAP, а сервер исходящих — благодаря протоколу SMTP.

SMTP — что это за протокол и сервер

SMTP (англ. Simple Mail Transfer Protocol) — это сетевой протокол, который отвечает за отправку писем. Протокол SMTP предназначен для того, чтобы отслеживать корректность:

  • настроек отправления,
  • содержимого писем (нет ли в них спама),
  • доставки сообщений (по нужному ли адресу доставлено сообщение).

Что такое SMTP-сервер в таком случае? Всё просто — это сервер исходящей почты, который работает на базе СМТП-протокола. Его главные функции — отправлять письмо и сообщать адресату результат. Если всё в порядке, то сервер сначала дает «добро» на отправку сообщения, а затем «подтверждает», что оно успешно доставлено. Если что-то не так — информирует пользователя, что произошла ошибка (и какая именно).

За каждым СМТП-сервером закреплен специальный адрес вида smtp.serveraddress.com. Благодаря им серверы быстро и безошибочно находят друг друга в системе.

Как работает SMTP server

Перед тем как передать сообщение, SMTP-сервер устанавливает контакт с сервером получателя (входящим сервером). Для этого запускается SMTP-сессия — серверы обмениваются командами через TCP-соединение. При этом каждая команда сформирована всего из четырех символов.

Сессия может состоять как из одной, так и из нескольких команд. Чаще всего в обмене фигурируют следующие команды:

  • HELO — помогает установить соединение;
  • RCPT — помогает указать получателя сообщения. Если получателей несколько, SMTP отправит команду несколько раз;
  • MAIL — команда, с помощью которой можно узнать обратный адрес. Сервер использует его в тех случаях, когда письма приходится возвращать обратно;
  • DATA — команда, которая отвечает непосредственно за передачу письма. Она запускает двухэтапное взаимодействие. На первом этапе входящий сервер сообщает, что готов принять сообщение. На втором исходящий сервер отправляет само сообщение — заголовок и содержание письма (текст и файлы);
  • QUIT — позволяет прекратить соединение (после окончания приема писем).

Какие существуют SMTP-порты

За SMTP сервером закреплены три типа портов:

  • порт 25 — это порт по умолчанию, который используют для передачи писем. По нему соединение работает без шифрования;
  • порт 587 — отвечает за передачу сообщений без спама (благодаря механизму обязательной аутентификации отправителя). По нему соединение проходит также без шифрования;
  • порт 456 — используется редко, подходит для защищенного SSL-соединения (SMTPS). Гарантирует безопасное шифрованное соединение.

В теории СМТП способен работать со всеми протоколами транспортного уровня, однако чаще всего он использует соединение TCP (25-й порт).

Виды SMTP-серверов

Условно можно выделить два основных вида серверов:

  • Общие. Эти серверы отвечают за пересылку сообщений с частных email-адресов (те самые обязательные серверы, закрепленные за каждым сервисом электронной почты). Их настраивают и поддерживают интернет-провайдеры, веб-хостеры и владельцы бесплатных почтовых клиентов. Отличительная особенность таких серверов — ограничение по объёму писем, который можно отправить в сутки с одного адреса. При этом каждый провайдер устанавливает свой дневной лимит.
  • Выделенные. Эти серверы хорошо подходят для массовых email-рассылок — на них нет ограничений по количеству писем в сутки. С их помощью можно разослать больше миллиона писем в сутки и быть уверенным, что они не попадут в папку “Спам” и ваш адрес не заблокируют. Такой сервер можно настроить самостоятельно, арендовать или купить у провайдера.

Кому подойдет сервер SMTP

Использование SMTP в первую очередь необходимо тем, кто регулярно делает массовые рассылки, а также тем, кому в работе важны следующие факторы:

  • Высокий процент доставляемости. Иногда провайдеры блокируют отправку почты или выставляют ограничения, чтобы избежать рассылки спама. SMTP помогает снизить процент блокировок.
  • Быстрая доставка. Сервисы email-рассылок дают простор для работы с письмами. В них есть конструктор с шаблонами, автоматические цепочки и аналитика. А СМТП выполняет только одну задачу — доставить сообщение адресату. Именно поэтому при отправке он выигрывает в скорости.
  • Небольшая стоимость. Рассылка писем с помощью СМТП обходится дешевле, чем использование сервисов email-рассылок. Также вам не придется покупать дополнительные программы — достаточно разобраться в принципах  работы протокола и запомнить базовый набор команд.
  • Безопасность личных данных. При работе по SMTP личные данные пользователей или подписчиков из базы email-адресов находятся исключительно на серверах отправителей. СМТП пересылает их, но не хранит.
  • Прозрачная отчетность. Можно получить детальные отчёты о доставке писем и возникающих ошибках. Например, на этапе передачи данных вы столкнулись с ошибкой MAIL FROM. Из отчета вы узнаете, что ошибка возникает в случае, когда ваш адрес “не устраивает” сервер получателя. Эта информация поможет избежать аналогичных ошибок в будущем.

Как и где можно настроить протокол SMTP

SMTP-сервер можно настроить самостоятельно. Если этот способ вам не подходит, рассмотрите другие варианты:

  1.  У интернет-провайдера. В этом случае вам не придется настраивать сервер самостоятельно, однако провайдер может выставить ограничения по скорости и количеству писем в сутки (уточняйте условия договора заранее).
  2. На базе вашего хостинга. Если у вас уже есть сайт, проще всего внести настройки на сервере хостинг-провайдера. Однако имейте в виду, что ваш домен в любой момент могут заблокировать по жалобе от пользователей. Это пагубно скажется не только на репутации, но и других показателях сайта.
  3. В платном сервисе. Этот вариант подойдет в случае, если вы делаете рассылки регулярно и массово. Шанс, что письма будут попадать не в «Спам», а во «Входящие», повысится. Выберите наиболее подходящий тариф — ориентируйтесь на количество писем в месяц, которое вы планируете отправлять.
  4. В бесплатном сервисе. Отправить письма по SMTP можно в любом современном почтовом сервисе. Как и хостинг, бесплатные сервисы имеют ограничения на количество рассылаемых писем.

Теперь вы знаете, для чего предназначен протокол SMTP, как он работает и какие преимущества дает настройка такого сервера. Если вы хотите подключить SMTP, но у вас ещё нет сервера, закажите его в SpaceWeb. Для ваших целей подойдет как аренда VPS, так и выделенный сервер.