для чего необходим протокол smtp

SMTP. Описание протокола

Что такое SMTP — описание?

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

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

Он не стеснен какими-либо конкретными подсистемами передачи данных. Его работа нуждается только в надежном канале потока их передачи с сохранением порядка.

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

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

Простой протокол впервые опубликован в 1982 г. Использовался он как дополнительное приложение к популярному тогда клиенту — Unix Copy Program. Первым клиентом, работающим под стеком SMTP, стал Sendmail.

На сегодняшний день это типовой почтовый протокол. Его используют все почтовые программы и серверы.

Принцип работы протокола

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

Рабочая сессия протокола состоит из отправляемых mail — клиентом SMTP ряда команд и ответов на них сервера. При рабочей сессии и клиент, и сервер обмениваются необходимыми параметрами.

Операция протокола включает в себя комбинацию, состоящую из следующих последовательностей команд и ответов:

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

Как работают другие почтовые протоколы

SMTP является лишь протоколом доставки корреспонденции в сети. Он не может по команде взять электронное сообщение с удаленного сервера или как-то управлять e-mail ящиком.

Для этого существуют другие протоколы, например IMAP и POP. Их использование предпочтительнее при временном подключении к сети или когда ПК включается периодически.

Проверка и регистрация доменов SU — зарегистрируйте запоминающийся домен для Вашего проекта.

Post Office Protocol – это простой сетевой протокол, включающий в себя три разновидности: POP, POP2 и POP3. Разработаны они для того, чтобы доставлять корреспонденцию пользователю с центрального почтового сервера, для удаления почты с сервера и для идентификации пользователя. Для идентификации используется сочетание логина и пароля. Стоит отметить, что все три протокола не взаимозаменяемы.

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

В соответствии с POP3, письма, поступающие на определенный e-mail сохраняются на сервере до загрузки их на ПК во время очередного сеанса. Когда загрузка произошла, становится возможным прочитать сообщения, отключившись от сети. Считается, что POP3 — самый быстрый почтовый протокол.

С помощью Internet Message Access Protocol становится возможным хранение сообщений в директориях файлов на сервере и производить поиск любых строк сообщений прямо там.

Данный протокол подходит тем пользователям, компьютеры которых используют непрерывное подключение к интернету. Его отличие от POP в том, что при проверке новых писем загружаются только их заголовки.

iPipe – надёжный хостинг-провайдер с опытом работы более 15 лет.

Что это такое? Спам – в большинстве случаев это рассылка электронной почты по базе пользователей, которые не давали на неё…

Источник

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

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

Блочный редактор писем, готовые шаблоны email, формы подписки и автоматизация. Запускайте email-рассылки, чтобы быть на связи со своими клиентами.

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

Где взять базу? Как сделать красивое письмо? Какие показатели смотреть? Расскажем об этом в бесплатном курсе из 16 писем. Татуировка в каждом письме!

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

Рассказываем про инструменты для email-рассылок. Обсуждаем лучшие примеры и механики. Говорим о деньгах. Публикуем вакансии.

SMTP (Simple Mail Transfer Protocol) — сетевой протокол, предназначенный для передачи электронной почты. Он используется каждый раз, когда мы отправляем письмо через веб-сервисы (Gmail, Mail.ru), десктопные программы (Outlook, Thunderbird, TheBat) или сервисы рассылок (UniSender).

GMail, Mail.Ru, Yandex и других провайдеров электронной почты можно сравнить с почтовым отделением в вашем районе. Вы приходите туда, указываете на конверте, куда отправлять письмо и отдаёте его почтальону.

SMTP — это всё, что происходит в почтовом отделении, когда вы передали письмо. Например, на почте наклеят марки, проверят посылку на вес, организуют логистику и доставят письмо до адресата.

Тут возникает вопрос: если SMTP такой универсальный, почему нельзя отправлять письма напрямую через него? Можно, но есть несколько «но», о которых я расскажу дальше.

А пока немного теории.

Матчасть: как работает SMTP

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

Вот пример того, как выглядит общение серверов изнутри (SMTP-сессия):

$ telnet expamle.com 25 — мы пробуем подключиться к example.com по 25 порту, который как раз используется для передачи почты.

Connected to example.com.

Escape character is ‘^]’.

220 mailserver at example.com greets you. Make love not war! — подключение удалось.

250 example.com — поприветствовали друг друга с помощью команды HELO, сервер получателя ответил командой 250, что значит, что возможно дальнейшее «общение».

MAIL FROM: test@test.com > — мы говорим, от кого хотим отправить письмо.

250 2.1.0 Ok — сервер отвечает, что готов принять письмо от этого адресата (бывают ситуации, когда адрес внесен в блэклист на стороне получателя, и тогда уже здесь начнутся ошибки.

RCPT TO: user@example.com > — мы говорим, кому хотим отправить письмо.

250 2.1.5 Ok — сервер отвечает, что готов принять письмо для этого получателя (если адреса не существует, то здесь сервер может сказать что-то вроде 550 No such user here.

DATA — сообщаем серверу, что начинаем передавать письмо.

FROM: test@test.com — начинаем передавать письмо вместе с техническими заголовками.

SUBJECT: test mail from test subject

. — показываем, что мы закончили передачу письма.

250 2.0.0 Ok: queued as 1CF5FC0AAE — сервер отвечает, что принял письмо для доставки и назначил ему id 1CF5FC0AAE (по нему, в случае недоставки, системный администратор принимающего сервера сможет найти, что стало с письмом.

QUIT — сообщаем, что сеанс связи закончен.

221 2.0.0 Bye — сервер прощается с нами.

Connection closed by foreign host. — соединение обрывается.

Это пример самой простой SMTP-сессии. Она может быть намного сложнее, если получателей будет несколько или сервер получателя потребует аутентификацию и шифрование.

Кажется, что мешает подробно изучить документацию по SMTP и отправлять массовые рассылки через своё SMTP-решение? С этим есть проблема.

Предлагаю посмотреть на разные способы отправки массовых рассылок и оценить их по 3 параметрам: необходимость в доработках, доставляемость писем и цена.

Ящик на бесплатной почте

Доработки от разработчиков: ⭐️

Доставляемость массовых рассылок: ⭐️

Почти все почтовые провайдеры (Gmail, Mail.ru) предоставляют доступ к ящику по SMTP. Тем не менее, отправлять массовые рассылки с бесплатной почты не получится.

Преимущества

Ящики на Gmail, Mail.ru или Яндексе бесплатные. На этом преимущества для отправки массовых писем заканчиваются.

Недостатки

Пока вы отправляете небольшое количество писем, вас может устраивать бесплатная почта. Но если подписчиков много, вы столкнётесь с ограничениями по количеству писем:

Почтовый провайдерОграничение
Mail.ru1 письмо в минуту
Yandex.ru150 писем в сутки
Gmail.com500 писем в сутки
Rambler.ru200 писем в час
Ukr.net250 писем в сутки
Meta.ua200 писем в сутки

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

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

Вывод: не подходит для массовых рассылок.

Почта интернет-провайдера

Доработки от разработчиков: ⭐️

Доставляемость массовых рассылок: ⭐️

Этот способ похож на предыдущий: почта интернет-провайдера подходит для личной переписки, но не для массовых рассылок. Отправка писем идёт через IP-адреса провайдера — они не могут допустить, чтобы через них проходил спам. Поэтому на большинстве таких ящиков тоже стоит ограничение на количество писем в сутки.

Вывод: не подходит для массовых рассылок.

Хостинг

Доработки от разработчиков: ⭐️

Доставляемость массовых рассылок: ⭐️⭐️

Преимущества

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

Недостатки

Но когда возникнет необходимость массовых рассылок, вы можете столкнуться с ограничениями и трудностями.

Часто хостинг располагается на общих IP-адресах хостинг провайдера, а это значит, что параллельно с вами на данном IP-адреса может находиться еще кто-то, и отправлять спам. Ваши письма из-за этого тоже будут попадать в спам. Именно из-за этого часто провайдеры ограничивают возможность рассылок для владельцев хостинга, и требуют покупки VPS (виртуального сервера) или выделенного сервера, что приводит нас к следующему пункту.

Вывод: подходит для массовых рассылок, если купить виртуальный сервер и настроить его.

Собственное SMTP-решение

Доработки от разработчиков: ⭐️⭐️⭐️

Доставляемость массовых рассылок: ⭐️⭐️⭐️ (при правильной настройке)

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

Преимущества

Простота. SMTP — простой протокол: его легко протестировать и внедрить (особенно, если у вас уже было SMTP-решение до этого).

Вот, что говорит CTO UniSender Александр Брычук:

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

Использование SMTP требует меньше знаний для внедрения, чем, скажем, использование WEB API (на котором построены сервисы транзакционных писем). SMTP хорошо изучен, для него есть подробная документация. Непредвиденные обстоятельства вроде внезапной смены протокола или изменения работы каких-то методов, сведены к минимуму.

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

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

SMTP-сессия покажет, на каком именно этапе возникла ошибка доставки. Иногда это полезно. Например, если ошибка возникла на этапе передачи данных MAIL FROM (смотрите пример SMTP-сессии), то ваш обратный адрес не нравится серверу получателя.

Недостатки

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

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

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

Вывод: подходит для массовых рассылок, но нужна глубокая доработка со стороны разработчиков.

Источник

Протокол SMTP что такое и для чего он нужен

SMTP (Simple Mail Transfer Protocol) — простой протокол передачи почты. Протокол SMTP был создан в 1982 году, а расширенная версия SMTP (ESMTP, Extended SMTP) вышла в 2008 году и используется сейчас.

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

Архитектура электронной почты

Протокол SMTP используется при передаче электронной почты, возможны два варианта использования:

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

При передачи почты от агента пользователя почтовому серверу и при передачи писем между почтовыми серверами используется протокол SMTP. Для чтения почты используется протоколы POP3 и IMAP.

Место протокола SMTP в стеке TCP/IP

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

На практике, почти всегда используется один транспортный протокол TCP и порт 25.

Формат электронного письма

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

Заголовки и тело письма формально не являются частью протокола SMTP, они задаются в отдельном документе RFC2822. Так как заголовки используются при передаче писем, мы их рассмотрим.

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

Команды SMTP

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

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

Ответы SMTP

Также как и протокол HTTP, SMTP использует ответы состоящие из двух частей:

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

Заголовки письма

Заголовки письма формально не являются частью стандарта SMTP.

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

Пример сеанса SMTP

Рассмотрим пример сеанса SMTP, который используется для отправки письма.

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

Подключаемся к почтовому серверу по адресу 220 smtp.example.ru ESMTP Postfix на 25 порт. Выдаем команду HELO в которой указываем свой домен. Сервер отвечает сообщением со статусом 250 это означает, что соединение установлено и в текстовом сообщении сервер еще раз пишет свое доменное имя.

Само письмо состоит из двух частей, заголовок и тело сообщения.

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

После того, как введена точка, сервер понимает, что письмо закончено и выдает сообщение со статусом 250 2.0.0 Ok: queued as 7FD9DC2E0060 сообщение поставлено в очередь для передачи. Выдаем команду QUIT, чтобы закончить сеанс связи. Сервер отвечает сообщением со статусом 221 пока.

Расширение SMTP

В 2008 году появилось расширение SMTP — ESMTP. Там появились новые команды. Вместо команды HELO предлагается использовать команду EHLO — Extended HELO. Если мы хотим использовать расширенную версию SMTP, то при установки соединения вместо команды HELO мы должны указывать команду EHLO.

Примеры других новых команд:

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

Команда EHLO

Если мы хотим использовать расширенную версию протокола SMTP, то для установки соединения, мы должны использовать команду EHLO и после нее указывать домен отправителя, также, как и для обычной команды HELO.

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

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

Безопасность и спам

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

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

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

Например, когда клиент подключился к почтовому серверу, выдал команду HELO, указал свое доменное имя, почтовый сервер выполняет проверку соответствия этого доменного имени IP-адресу клиента. Для этого почтовый сервер выполняет реверсивный DNS запрос на IP-адрес с которого подключился клиент и сравнивает полученное доменное имя с тем, которое указал клиент в команде HELO. Если доменные имена отличаются, то в зависимости от настроек почтовый сервер может не принять сообщение.

Многие почтовые серверы настроены так, чтобы принимать почту только для локальных пользователей, т.е. для тех, у которых есть почтовые ящики в том домене, который они обслуживают. Серверы, которые работают в другом режиме и позволяют передавать почту на любые email адреса в интернете называются открытые релеи. Спамеры с помощью специальных программ ищут открытые релеи в интернете и используют их с помощью массовой рассылки писем. Если почтовый сервер работает в режиме открытого релея, это серьезная недоработка администратора этого сервера.

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

Заключение

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

Источник

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

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

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

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

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

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

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

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

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

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

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

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

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

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

Формат поля заголовка 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. Есть и другие, но они используются реже.

Ответы SMTP

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

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

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

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

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

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

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

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

для чего необходим протокол smtp. Смотреть фото для чего необходим протокол smtp. Смотреть картинку для чего необходим протокол smtp. Картинка про для чего необходим протокол smtp. Фото для чего необходим протокол smtp

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

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

Наступает следующий этап — использование команды Mail FROM для того, чтобы указать адрес отправителя. Если сервер возвращает статус 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-сервер можно реализовать на мощностях Selectel, арендовав для этой задачи выделенные сервер или виртуальную машину в «Облачной платформе Selectel».

Источник

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

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