Оценок пока нет Как работает электронная почта на основе протокола SMTP?

Лучший способ объяснить, как работает SMTP, — рассмотреть процесс отправки, отдельные правила и команды, управляющие им, а также ошибки, с которыми вы можете столкнуться.

Здесь будут технические подробности. Тем не менее, мы сделаем все возможное, чтобы сжать эту статью в простые для восприятия фрагменты. Также можете посмотреть нашу статью на данную тему без технических подробностей Что такое протокол, сервер, порт SMTP, POP, IMAP?

После того, как SMTP-сервер установлен, почтовые клиенты могут подключаться к нему и взаимодействовать с ним. Когда пользователь нажимает «отправить» в сообщении электронной почты, почтовый клиент открывает SMTP-соединение с сервером, чтобы он мог отправить его. (Соединение SMTP построено на так называемом TCP (Transmission Control Protocol)-соединении , что означает протокол управления передачей.)

Оттуда SMTP-клиент использует команды, чтобы сообщить серверу, что делать, и как передать данные, такие как адрес электронной почты отправителя и содержимое электронной почты на адрес электронной почты получателя. Этим занимается агент передачи почты или агент передачи сообщений (MTA), который проверяет, принадлежат ли оба адреса электронной почты одному домену электронной почты, например gmail.com:

  • если они есть, он сразу же отправляет электронное письмо;
  • если нет, сервер использует систему доменных имен (DNS) для идентификации домена получателя, а затем отправляет его на нужный сервер.
В процессе примопередачи присутствуют 2 сервера, один из которых сервер отправителя, а второй — сервер получателя. Может быть такое, что получатель и отправитель используют один сервер, например gmail.com и тогда процесс приемопередачи ускоряется, потому что нет необходимости на идентификацию домена.

Основные SMTP-команды

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

  • HELO или EHLO (Hello) — это важная команда для начала всего процесса отправки электронной почты. Почтовый клиент идентифицирует себя на SMTP-сервере. Это начало диалога, и обычно сервер отправляет команду HELO вместе со своим доменным именем/IP-адресом.
  • MAIL FROM — после команды идентификации отправитель поделится кодом, указывающим, от кого отправлено письмо. Это обрисовывает в общих чертах адрес электронной почты и сообщает SMTP-серверу, что новая транзакция вот-вот начнется. Отсюда сервер сбрасывает все и готов принять адрес электронной почты. После принятия он ответит кодом ответа 250 OK.
  • RCPT TO (Recipient To) — следующая команда следует за кодом ответа 250 OK, определяющим, кому отправляется электронное письмо. Опять же, SMTP-сервер отвечает тем же кодом, после чего можно отправить другую команду RCPT TO с другим адресом электронной почты получателя. Это может повторяться столько раз, сколько потребуется, в зависимости от того, сколько людей получит электронное письмо.
  • DATA — это запускает передачу данных между клиентом и сервером. Все содержимое сообщения будет перемещено на SMTP-сервер, который ответит кодом ответа 345. Содержимое сообщений передается на сервер, где одна точка отправляется в строке сама по себе, чтобы сигнализировать об окончании сообщения. Если он принят и готов к доставке, сервер отправляет еще один код 250 OK. В этот момент сообщение находится на пути к получателям.
  • QUIT — когда электронное письмо отправлено, клиент отправляет команду ВЫЙТИ на сервер, разрывая соединение. Если он был успешно закрыт, сервер ответит кодом 221.
  • RSET (Reset) — эта команда отправляется на сервер, когда почтовая транзакция должна быть прервана. Он не закрывает соединение, но сбрасывает все и удаляет все предыдущие данные об электронной почте и вовлеченных сторонах. Вы обычно будете использовать это, когда произошла ошибка, например, ввод неправильной информации о получателе, и процесс необходимо перезапустить.

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

Иллюстрация общения между среврами отправителя и получателя

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

Коды ошибок SMTP

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

Например, вот две группы часто возникающих ошибок SMTP:

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

Чем SMTP отличается от других протоколов электронной почты?

Вспомните определение SMTP, и вы вспомните, как мы говорили, что это один из многих протоколов электронной почты. POP и IMAP — два других наиболее распространенных протокола электронной почты.

Основное различие между этими протоколами заключается в том, что SMTP является единственным протоколом для отправки или «проталкивания» электронной почты с одного неизвестного почтового сервера на другой. POP и IMAP — это протоколы для получения или «вытягивания» почты для получателя с их собственного почтового сервера.

Различные протоколы в процессе отправки: SMTP используется для отправки электронной почты, POP и IMAP для получения почты.

Пожалуйста, оцените материал

WebSofter

Web - технологии