Перейти к содержимому

Для чего нужен протокол smtp

  • автор:

SMTP — Simple Mail Transfer Protocol

Jon SY Chan

One of our most common forms of communication is email. This blog will be a dive into how that works. One thing the emailing system follows is the Simple Mail Transfer Protocol or SMTP, a connection-oriented text-based protocol. The internet is set up in protocols in order to link up networks everywhere and transfer information. SMTP is just one piece in how we send and receive email and is an internet standard that was defined in 1982.

SMTP is part of the application layer of the TCP/IP protocol. Using a process called “store and forward,” SMTP moves your email on and across networks. It works closely with something called the Mail Transfer Agent (MTA) to send your communication to the right computer and email inbox.

https://whatismyipaddress.com/smtp

A great overview can be explained in TECHNOPHILE’s video below:

A MTA (like a mail relay) checks the domain’s MX record, a resource record in the DNS to decide how to continue transferring the message either to another MTA or MDA (Mail Delivery Agent).

A MDA (Mail Delivery Agent) is a software that stores messages for batch retrieval on the MUA (Mail User Agent ex- apple mail, outlook express) side.

SMTP is mainly focused with the push protocol in order to send emails from one server to another, usually the mail server (gmail server, yahoo server). Since it is usually limited in its ability to queue messages on the receiving end, other protocols like POP3 (handles one server but many emails) and IMAP (handles multi-server or multiple devices) are used to retrieve and handle these emails on the MUA (email client: apple mail, outlook, web mail sites like gmail and yahoo) from the server mailbox.

THE 6 MAIN STEPS of SMTP (protocol)

1. Email is submitted by a MUA to a mail server’s MSA (message submission agent)

2. The message is transferred to the server’s MTA (the MTA and MSA are usually hosted on the same SMTP server)

3. The MTA checks the MX record of the recipient domain and transfers the message to another MTA (this step can occur multiple times until the message is received by the proper receiving server)

4. The message is handed off to the MDA, which saves messages in the proper format for retrieval by the receiving MUA

5. The receiving MUA requests the message from the MDA (usually with POP3 or IMAP)

6. The message is delivered to the receiving MUA‘s inbox

https://blog.sendinblue.com/what-is-smtp-server/

When referring to SMTP it should be noted that it may be referred in different ways such as the SMTP (protocol), SMTP relay and the SMTP server.

A SMTP server has a program running that waits for SMTP commands from the sender. It sets up connections with the sender and routes messages to the proper recipient.

SMTP servers also commonly uses TCP on port 25. Email Message Submission is often sent on port 587.

A basic look into the actual commands and SMTP conversation that occurs during the protocol can be found on the DMARC website.

SMTP is used to deliver email between servers when a piece of email needs to travel across the Internet. The handoff of email between two different servers is what SMTP accomplishes, and SMTP does this using a very conversational set of commands. That is, servers talk to each other, exchange bits of information about themselves, they exchange bits of information about the email that will be handed over, and then the actual piece of email is communicated to the receiving server. This back and forth is referred to as the SMTP conversation.

Video: SMTP Overview

SMTP was also updated to ESMTP in 2008 which have added enhancements like better security, authentication and etc.

Почтовая кухня #2: SMTP

SMTP (англ. Simple Mail Transfer Protocol — простой протокол передачи электронной почты) — это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.
ESMTP (англ. Extended SMTP) — масштабируемое расширение протокола SMTP. В настоящее время под «протоколом SMTP», как правило, подразумевают ESMTP и его расширения.

Сразу отмечу, что в настоящее время SMTP в чистом виде практически не используется, т.к. он даже не поддерживает элементарно авторизацию… Используется ESMTP. Когда/если вы отправляете почту почтовым клиентом (Outlook, Thunderbird, Evolution, TheBat) происходит работа именно по этому протоколу.

Для работы по этому протоколу нужно соединиться с почтовым сервером по определенному порту и отправить некоторую последовательность ESMTP команд.
Команда представляет из себя строку вида
КОМАНДА[пробел]параметр(опционально)
В ответ на команду сервер возвращает строку вида
XXX[пробел]доп. информация
При этом XXX число в ответе сервера обозначает:
2ХХ — команда успешно выполнена
3XX — ожидаются дополнительные данные от клиента
4ХХ — временная ошибка, клиент должен произвести следующую попытку через некоторое время
5ХХ — неустранимая ошибка

Так вот, давайте перейдем ближе к делу — попробуем элементарно отправить e-mail из консоли через какой-нибудь почтовый сервер (не важно, линукс у вас или виндоус). Так будет проще познакомиться с этим протоколом — сразу на практике. Привожу комманды и параллельно объясняю их значение.

Для нашего эксперимента буду использовать почтовый сервер яндекса. Подразумевается, что уже есть там аккаунт…
Сразу предупреждаю, что после соединения все команды нужно вводить максимально быстро, т.к. при задержке около 15 секунд соединение автоматически разрывается. Рекомендую сперва все команды заранее набрать в текстовом редакторе а после просто вставлять их в командную строку.

telnet smtp.yandex.ru 2025 #соединяемся с smtp почтовым сервером. Адрес и порт smtp сервера можно посмотреть в инструкциях на сайте почтовика
Ответ:

Код 220 говорит об успешном соединении

EHLO [91.198.212.5] #Приветствуем сервер и отсылаем ему наш внешний IP (IP не обязательно отсылать, можно обойтись просто EHLO, но сервер скорее всего на это ругнется)
UPD: Желательно отправлять даже не IP а доменное имя для этого IP вродеEHLO you.provider.domain без квадратных скобок
Ответ:

Сервер принял приветствие и выслал список поддерживаемых команд. Из этого списка нас интересует AUTH LOGIN. Это команда для авторизации на сервере по base64-закодированному логину и паролю. Так вот, нужно заранее подготовить закодированные в base64 пароль и логин от вашей почты. Можно это сделать, например, здесь seriyps.ru/crypt или командой в Linux echo [ваш пароль/логин] | base64

AUTH LOGIN # Сообщаем серверу о намерении пройти авторизацию
Ответ:

Этот самый VXNlcm5hbWU6 — закодированное в base64 слово “Username:”, а номер ответа 3ХХ означает, что сервер ждет от нас дополнительной информации. Не будем его огорчать:

ВАШ_ЛОГИН_ПОЧТЫ_В_BASE_64 #Отправляем ваш логин почты в base64, например dmFzaWFwdXBraW4=
Ответ:

Это, как можно догадаться, “Password:” в base64

ВАШ_ПАРОЛЬ_ПОЧТЫ_В_BASE_64 # Отправляем пароль почты в base64, например MTIzNDU2
Ответ:

т.е. авторизация прошла успешно. Теперь можно отправлять e-mail)

MAIL FROM: vasiapupkin@ya.ru # Сообщаем, что хотим отправить почту с адреса vasiapupkin@ya.ru Адрес может быть любым (в том числе с несуществующих доменов, однако он может проверяться при проверке на спам)
Ответ:

RCPT TO: billy@microsoft.com # Сообщаем, что хотим отправить письмо на адрес billy@microsoft.com
Ответ:

DATA # Здесь сообщаем, что начинаем передачу данных.
Ответ:

Т.е. сервер будет считывать введенные в консоли данные до того момента, пока мы не нажмем Энтер точка Энтер (после этой комбинации письмо сразу отправляется)

  • Заголовков SMTP-протокола (то, что мы вводим при MAIL FROM: и RCPT TO: плюс некоторая служебная информация)
  • Заголовков письма. (отправитель, обратный адрес, адресат, отметки о спам-проверках, тема письма, MIME-тип, кодировка и т.п.)
  • Тела письма. (отделяется от заголовков пустой строкой, обычный ASCII текст либо соответствующий mime типу набор данных)

Два раза Энтер, затем вводим сам текст письма.
Hello, Billy! You’ll die tomorrow!
Энтер. Энтер # Сообщаем, что закончили передачу сообщения
Ответ:

Т.е. сообщение принято для передачи

Теперь можно отправить еще какое-нибудь письмо (MAIL FROM: RCPT TO:) или завершить сеанс работы
QUIT # Завершаем сеанс
Ответ:

Это все. Как видно, протокол довольно простой, основные сложности — в формировании самого тела письма.

Резюмируя:
telnet smtp.yandex.ru 2025
EHLO 91.198.212.5
AUTH LOGIN
ВАШ_ЛОГИН_ПОЧТЫ_В_BASE_64
ВАШ_ПАРОЛЬ_ПОЧТЫ_В_BASE_64
MAIL FROM: vasiapupkin@ya.ru
RCPT TO: billy@microsoft.com
DATA
From: Вася Пупкин <vasiapupkin@ya.ru>
To: Билли Г <billy@microsoft.com>
Subject: Hello Billy
Hello, Billy! You will be die tomorrow!
Энтер . Энтер
QUIT

Конечно, здесь не приведена информация по отправке почты в кодировках текста, отличных от ASCII, не написано про вложенные файлы и MIME но если вам нужны подробности, вот несколько ссылок:
Электронная_почта Wiki
SMTP Wiki
MIME Wiki
rfc5321

При разработке приложений непосредственно с SMTP обычно работать не приходится, для этого используют различные фреймворки или стандартные функции. Для PHP можно посмотреть:
SMTP PEAR расширение
PHPMailer библиотека для работы с электронной почной

Удачных экспериментов!

Что такое SMTP-протокол и как он устроен?

Объясняем принципы работы Simple Mail Transfer Protocol — «старого» протокола передачи почты, который актуален до сих пор.

Эта инструкция — часть курса «Как работают сетевые протоколы».

Смотреть весь курс

Изображение записи

SMTP (Simple Mail Transfer Protocol) — протокол передачи почты. Он был представлен еще в 1982 году, но не теряет актуальности до сих пор. В статье разбираемся, какие задачи решает протокол и как он работает.

Для чего используется SMTP

У протокола две главные задачи:

  • Проверка корректности настроек системы и предоставление «разрешения» на отправку email-сообщения для определенного устройства.
  • Отправка исходящего сообщения на заданный адрес электронной почты и подтверждение успешной доставки. Если сообщение доставить не удается, отправитель получает соответствующее извещение.

SMTP и его место в стеке TCP/IP

Теоретически SMTP умеет работать с практически любыми протоколами так называемого транспортного уровня, включая TCP, UDP и другие. Еще на заре развития протокола за ним закрепили два номера порта:

  • Первый — это порт 25, посредством которого почта передается между почтовыми серверами.
  • Второй — порт 587, благодаря которому почта передается от почтового клиента на сервер.

В большинстве случаев протокол SMTP используется для передачи исходящей почты с использованием порта TCP 25. То есть можно сказать, что SMTP-порт — это как раз TCP 25, хоть и не всегда. Иногда задействуется еще порт 465. Так происходит, когда порт требует защищенного SSL-соединения.

Но в большинстве случаев используется лишь один транспортный протокол TCP с портом 25 (это SMTP-порт по умолчанию). Другие варианты применяются крайне редко, например, когда провайдеры по какой-то причине закрывают доступ к 25 порту. Они могут делать это, например, для блокировки спам-рассылок.

Электронное письмо и его формат

Сообщение электронной почты всегда состоит из трех элементов:

  • Так называемый конверт.
  • Заголовок.
  • Тело письма.

Конверт применяется для передачи сообщений электронной почты от клиенту к серверу и обратно. При этом как клиент, так и сервер взаимодействуют друг с другом в обычном формате «запрос-ответ». В ходе взаимодействия между ними передаются текстовые строки.

Что касается заголовка и тела письма, то их параметры прописаны в отдельном документе — RFC2822.

Формат поля заголовка Received:

Received:
From host
by host
via physical-path
with protocol
id message-id
for final e-mail destination

Это поле используется для идентификации тех SMTP-серверов, которые были задействованы в процессе доставки сообщения от отправителя к получателю. Любой сервер из цепочки добавляет к сообщению собственное поле Received, где можно видеть техническую информацию об этом сервере.

Return-Path — поле возврата, которое используется для определения маршрута, по которому прошло сообщение. Если оно было отправлено прямо на сервер получателя, то в поле отображается один адрес. Если же серверов несколько, они будут отображаться списком.

Команды и ответы SMTP

Команды

Все они состоят из четырех символов. Сакрального замысла здесь нет, просто в самом начале разработчики договорились, что длина будет именно такой. Ниже — основные команды SMPT. Есть и другие, но они используются реже.

  • Команда Helo применяется для установки соединения. Эта операция будет выполнена только в том случае, если клиент указал свой домен и собственный почтовый адрес.
  • Команда Mail применяется для задания адреса отправителя.
  • Команда RCPT используется исключительно для того, чтобы прописать адрес получателя. Электронное сообщение можно передать сразу нескольким получателям, для чего требуется использовать команду RCPT несколько раз подряд.
  • Команда DATA нужна для уведомления принимающего сервера о завершении конверта, после чего идет само письмо.
  • Команда QUIT применяется для разрыва соединения с сервером сразу после завершения приема сообщения.

Ответы SMTP

Здесь все одновременно и проще, и сложнее. Ответы в случае SMTP состоят из двух частей:

  • Код сообщения. Дает возможность изучить корректность и правильность отправки.
  • Текстовое сообщение. Объясняет, что произошло в ходе отправки или получения. Как правило, сообщение формируется для того, что произошло. В подавляющем большинстве случаев такое сообщение предназначено для людей, а не компьютеров.

Коды сообщений начинаются на 2, 3, 5. Если сообщение начинается на 2, это значит, что предыдущая команда успешно завершена. «Тройка» в коде означает успешную отправку с необходимостью предоставить дополнительные данные.

Если сообщение начинается на 5, это означает технический сбой. Так, ошибка 502 — индикатор нереализованной команды, а 503 сообщает о неправильной последовательности команд.

Как работает SMTP — простыми словами

Давайте представим, что вы установили и настроили собственный SMTP-сервер. Далее вы планируете отправить письмо. Работает отправка по определенному алгоритму:

  • Указывается адрес отправителя, после чего система пользователя соединяется, к примеру, с SMTP почтового клиента Gmail.
  • Система передает серверу данные, включая email отправителя и получателя, тему письма, его содержимое.
  • Сразу после этого система начинает поиск SMTP-сервера получателя электронного сообщения.
  • Если этот сервер не найден или он не отвечает, SMTP-сервер пытается предпринять еще несколько попыток связи. Если ничего не получается, то система выдает ошибку отправки. При этом протокол сообщит, почему письмо не будет доставлено. Так, проблема может быть в несуществующем адресе или в блокировке сообщений.

Если все хорошо, то далее в работу вступают уже другие протоколы — POP и IMAP, но о них мы поговорим в другой статье.

Пример работы SMTP

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

Здесь мы видим подключение к почтовому серверу по 25 порту. Говоря техническим языком, подключение выполнено по адресу 220 smtp.example.ru ESMTP Postfix на 25 порт. Начало подключения — использование команды HELO, которая нужна для указания собственного домена. После этого вступает в работу сервер, который возвращает статус 250. Что это такое? Все просто: соединение установилось без проблем. После этого сервер еще раз пишет доменное имя в текстовом сообщении.

Теперь наступает очередь использования команды Mail FROM, которая нужна для отображения адреса отправителя сообщения. Если все хорошо, то сервер снова отвечает сообщением со статусом 250. Мы видим, что с текстовой частью все хорошо, команда выполнена, проблем не возникло.

Наступает следующий этап — использование команды RCPT TO для того, чтобы указать адрес получателя. Если сервер возвращает статус 250, то мы уже знаем, что это означает. Все удалось, теперь нужно выполнить команду DATA для ввода самого письма. В этом случае сервер отвечает уже не статусом 250, а другим — 354. После этого можно начинать вводить текст письма. Важный нюанс: заканчиваться все это должно отдельной строкой, которая содержит всего одну точку.

Сообщение всегда состоит из двух частей. Первая — заголовок, вторая — тело сообщения. Последнее необходимо отделять от заголовка пустой строкой. В этом случае требуется использовать заголовок FROM, это адрес пользователя, отправившего сообщение. Указывать нужно не только сам адрес, но и имя. А еще требуется заголовок, который дает получателю понять, в чем заключается основной посыл сообщения. Что касается пустой строки, то она отделяет заголовки от тела письма.

Возьмем самое простое сообщение, которое состоит из двух строчек текста: это «Hello, email world!» и «Hello, SMTP!». Заканчивается письмо строкой, которая содержит всего одну точку. Но эта строчка не будет видна получателю, она чисто техническая и будет обязательно убрана в ходе передачи. Если же точка нужна, то нужно указать сразу две точки, из которых одна будет удалена.

Наконец, если есть точка, то сервер видит, что письмо полностью завершено, выдавая статус сообщения 250 2.0.0 Ok: queued as 7FD9DC2E0060. Все это означает, что письмо уже находится в очереди ожидания. Для завершения сеанса нужно ввести всего одну команду — QUIT. Сервер ответит сообщением со статусом 221, что означает «пока».

Нужен ли собственный сервер SMTP?

Здесь все зависит от задач, которые будет решать пользователь. SMTP подходит для реализации масштабного спектра задач — от отправки сообщения до доставки его получателю. Чаще всего SMTP используют для транзакционных писем, массовых рассылок или личной переписки.

Собственный SMTP дает немного больше преимуществ перед корпоративными (или, например, Google). Это, как правило, невысокая цена, внимательное отношение со стороны разработчиков и хорошая доставляемость массовых рассылок.

Достоинство SMTP в том, что его достаточно просто внедрить, для этого протокола есть обширная документация и развитое комьюнити.

Немного о безопасности и спаме

Протокол SMTP очень простой, у него нет никаких инструментов для защиты пользовательских данных от злоумышленников. Так, адреса, указанные в соответствующем поле, не проверяются.

Кроме того, у SMTP по дефолту не используется шифрование, так что любые письма, передаваемые разными компаниями, могут быть прочитаны — было бы желание и соответствующие инструменты. Но это относится к SMTP первой версии. В улучшенном варианте разработчики добавили шифрование. Для того, чтобы его задействовать, нужно использовать специальную команду STARTTLS.

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

Большинство почтовых серверов для безопасности настраиваются на работу лишь с локальными юзерами. То есть это те пользователи, у которых есть ящики с адресом из пула домена, который они и обслуживают. Здесь встречаются и новые термины. Так, серверы, которые работают в ином режиме, позволяя передавать почту абсолютно на все адреса, называются «открытые релеи». Они нужны обычным пользователям, но активнее всего их используют злоумышленники. Зачем? Чтобы рассылать спам, конечно же. Поэтому за режимом работы корпоративных серверов нужно следить. Если при проверке сети окажется, что сервер работает в режиме открытого релея, стоит поговорить с администратором сервера.

А еще можно проверить адрес отправителя посредством цифровой подписи, о чем мы уже упоминали выше.

Например, есть возможность проверки email отправителя, воспользовавшись цифровой подписью. С этой целью используется, например, взаимодействие с системой DNS. В ней хранится открытый ключ электронной подписи для конкретного домена. И этот ключ как раз можно использовать для проверки.

В сухом остатке

SMTP — проверенный временем протокол передачи электронной почты, который просто работает. Да, у него есть свои недостатки, но они нивелируются простотой и надежностью протокола. К слову, он может использоваться как для отправления сообщений на почтовый сервер, так и на целую группу серверов.

Кстати, можно сделать собственный сервер SMTP для того, чтобы отправлять массовые рассылки. Но в этом случае придется выполнить множество разных тасков, включая добавление обработки статуса доставки письма, обход разного рода «черных» и «серых» списков. Требуется еще и удобная статистика отправлений, и возможность отписки от рассылки.

Для того чтобы все реализовать, лучше использовать специализированный сервис, владельцы которого развернули необходимые услуги. В этом случае разработчики требуются лишь для того, чтобы добавить сервис к CRM-системе.

Можно пойти еще дальше и организовать сервисы разных рассылок. Их достоинство состоит в том, что все возможности встроены в пользовательский интерфейс. А возможности не только базовые, ведь в таких сервисах есть функции сбора писем и форм подписки, работы с контактами, настройка цепочек в автоматическом режиме и проведение сплит-тестов.

SMTP-протокол

SMTP — протокол передачи почты. У него две основные задачи. Первая — проверить настройки системы и разрешить отправку письма. Вторая — отправить сообщение и оповестить о доставке или ошибке.

Вы используете SMTP-протокол каждый раз, когда отправляете письмо по электронной почте. Не имеет значения, чем вы пользуетесь: веб-сервисами вроде Gmail, десктопными приложениями вроде Thunderbird или собственным клиентом на хостинге timeweb.cloud . Везде применяется сервер исходящей почты SMTP.

Немного технических подробностей

SMTP-port имеет номер 25. Через него пересылается почта между серверами. Второй SMTP-порт — 587. Через него сообщения пересылаются от почтового клиента к серверу.

Если при отправке используется защищенное соединение, то вместо TCP 25 используют порт 465. Номер порта также могут изменить, чтобы обойти ограничения провайдеров. Некоторые компании блокируют 25 порт, чтобы избежать потоков спама.

Команды и ответы

Команды SMTP состоят из четырех символов. Вместе с ними могут указываться необязательные параметры, которые определяют тип данных.

Команда

Что делает

Ответы составлены из двух частей:

  • Код сообщения — нужен для проверки корректности отправки.
  • Текстовое сообщение — объясняет, что случилось при отправке или получении. Чаще всего оно предназначено для людей, а не компьютеров.

Что означает email с кодом ошибки? Зависит от того, какие цифры вы получили. Коды сообщений начинаются на цифры 2, 3 и 5.

Логика та же, что и в кодах статуса HTTP-запросов. Если код начинается с 2, это значит, что команда выполнена успешно. Цифра 3 в начале кода говорит о том, что SMTP-сервер нуждается в дополнительных данных. Если код начинается с цифры 5, то произошел сбой на стороне сервера.

Принцип работы SMTP

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

Например, вы хотите написать другу электронное письмо. Для этого даже настроили свой почтовый сервер — это несложно. Как проходит процесс снаружи и внутри:

  1. Вы указываете адрес отправителя. Система определяет его принадлежность и соединяется с нужным сервисом — например, с Mail.
  2. Бэкенд получает данные: почтовые адреса отправителя и адресата (или нескольких адресатов), тему и содержание сообщения.
  3. Система ищет SMTP-сервер адресата (или нескольких адресатов).

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

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

Пример работы протокола

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

Для наглядности пример очень простого обмена командами и ответами:

Проблемы безопасности

SMTP — простой протокол. По умолчанию у него нет средств защиты пользовательских данных. Шифрование добавили, но оно работает только при использовании STARTTLS, а не «из коробки». То есть зашифрованное соединение создается поверх обычного.

Еще одна большая проблема этого протокола — огромное количество спама. Для защиты от него приходится использовать внешние инструменты.

Тем не менее SMTP остается популярным решением для обмена сообщениями. Большинство пользователей не замечает его недостатков, потому что защищены теми механизмами, которые внедряют почтовые сервисы.

Когда стоит создавать свой SMTP-сервер

В большинстве случаев пользователям хватает возможностей, которые предоставляют SMTP-серверы бесплатных почтовых сервисов: Gmail, Яндекс.Почты, Mail.ru. Однако их достоинства становятся несущественными, когда требуется массовая рассылка. Причина — ограничения по количеству писем.

Например, через бесплатную почту Яндекса нельзя отправлять более 150 писем в сутки, а на Mail.ru используется лимит 1 письмо в минуту. Если превысить порог, письма будут падать в папку «Спам». Получатели рискуют их не увидеть.

Решением может стать создание собственного SMTP-сервера. Это посильная задача. SMTP — простой и хорошо задокументированный протокол. Его можно быстро проверить, есть подробный отчет об ошибках.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *