smtp порт что это

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Самое интересное про SMTP, POP3 и IMAP

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

smtp порт что это. Смотреть фото smtp порт что это. Смотреть картинку smtp порт что это. Картинка про smtp порт что это. Фото smtp порт что это

Как работает электронная почта: SMTP, IMAP, POP3

Протокол POP3 и его порты

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

По умолчанию, протокол POP3 использует следующие порты:

Протокол IMAP и порты

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

По умолчанию, протокол IMAP использует следующие порты:

Протокол SMTP и его порты

Simple Mail Transfer Protocol (SMTP) – это стандартный протокол для отправки почтовых сообщений по сети интернет.

Данный протокол описан в RFC 821 и RFC 822, впервые опубликованных в августе 1982 года. В рамках данных RFC, формат адреса должен быть в формате имя_пользователя@доменное_имя. Доставка почты, аналогична работе обычной почтовой службы: например, письмо на адрес ivan_ivanov@merionet.ru, будет интерпретирован так: ivan_ivanov – адрес, а merionet.ru – почтовый индекс. Если доменное имя получателя отличается от доменного имени отправителя, то MSA (Mail Submission Agent) отправит письмо через Mail Transfer Agent (MTA). Главная идея MTA в том, чтобы перенаправлять письма в другую доменную зону, по аналогии, как традиционная почты отправляет письма в другой город или область. MTA так же получает почту от других MTA.

smtp порт что это. Смотреть фото smtp порт что это. Смотреть картинку smtp порт что это. Картинка про smtp порт что это. Фото smtp порт что это

Протокол SMTP использует следующие порты:

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

Что такое 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».

Источник

Что Такое POP3, SMTP и IMAP

smtp порт что это. Смотреть фото smtp порт что это. Смотреть картинку smtp порт что это. Картинка про smtp порт что это. Фото smtp порт что это

Введение

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

Повысьте доверие к бренду, создав почту со своим доменом! Приобретите почтовый хостинг со скидкой до 55%.

Шаг 1 — Что такое POP3 и какие у него порты?

POP3 (протокол почтового отделения версия 3) часто используется для связи с удаленным сервером электронной почты и загрузки сообщений на локальный почтовый клиент с последующим удалением его на сервере, к примеру Outlook, Thunderbird, Windows Mail, Mac Mail и т.д. Однако обычно почтовые клиенты предлагают выбор — оставлять или нет копии сообщений на сервере. Если вы используете несколько устройств для отправки сообщений, то рекомендуется оставлять эту функцию включенной, в противном случае, на другом устройстве у вас не будет доступа к отправленным сообщениям, которые не были сохранены на удаленном сервере. Также стоит отметить, что POP3 — протокол работающий только в одном направлении, это означает, что данные берутся с удаленного сервера и отправляются на локальный клиент.

Порты POP3, по умолчанию являются такими:

Порт 110 — порт без шифрования

Порт 995 — порт SSL/TLS, также известный как POP3S

Шаг 2 — Различия между POP3 и IMAP, и какие порты у IMAP?

IMAP (протокол прикладного уровня для доступа к электронной почте), также как и POP3 используется для получения сообщений электронной почты на локальный клиент, однако, он имеет существенное отличие — загружаются только лишь заголовки электронных сообщений, сам текст письма остается на сервере. Данный протокол связи работает в две стороны, если происходят изменения на локальном клиенте, они передаются и на сервер. В последнее время IMAP стал более популярным, так как такие гиганты-провайдеры услуг электронной почты, как Gmail, стали рекомендовать использовать его вместо POP3.

Порты IMAP, по умолчанию являются такими:

Шаг 3 — SMTP, протокол для исходящей связи по электронной почте

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

Заключение

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

Источник

SMTP-сервер

smtp порт что это. Смотреть фото smtp порт что это. Смотреть картинку smtp порт что это. Картинка про smtp порт что это. Фото smtp порт что это

Создайте рассылку в конструкторе за 15 минут. Отправляйте до 1500 писем в месяц бесплатно.

smtp порт что это. Смотреть фото smtp порт что это. Смотреть картинку smtp порт что это. Картинка про smtp порт что это. Фото smtp порт что этоОтправить рассылку

smtp порт что это. Смотреть фото smtp порт что это. Смотреть картинку smtp порт что это. Картинка про smtp порт что это. Фото smtp порт что это

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

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

smtp порт что это. Смотреть фото smtp порт что это. Смотреть картинку smtp порт что это. Картинка про smtp порт что это. Фото smtp порт что это

Схема отправки письма по протоколу SMTP

SMTP-сервер — сервер, который работает по протоколу SMTP. Его главная задача выступать ретранслятором (передатчиком) между серверами отправителя и адресата. Каждый SMTP-сервер обладает собственным адресом в формате smtp.serveraddress.com. Это позволяет безошибочно определять нужный сервер при пересылке почты.

Как происходит отправка почты через SMTP

Протокол SMTP работает по несложному набору правил:

Функционал SMTP ограничивается доставкой писем. На стороне адресата электронное письмо извлекается с помощью POP и IMAP.

Отправка писем по SMTP происходит через получение ответов на команды:

Пошагово отправка письма по SMTP выглядит так:

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

Для работы по протоколу SMTP стандартно применяют 25 порт. Но во избежание спам-рассылок провайдеры могут закрыть к нему доступ. Тогда его заменяют дополнительными портами:

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

Все SMTP-серверы условно разделяют на два типа:

Также SMTP-серверы можно классифицировать в зависимости от источника. Сервер для отправки писем могут предоставить:

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

К примеру, UniOne, сервис транзакционных рассылок от UniSender, позволяет отправлять миллионы писем через SMTP-сервер. Для отправки рассылок нужно всего лишь указать хост, логин и пароль.

Преимущества SMTP для email-маркетинга

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

Высокая безопасность взаимодействия. Личные данные подписчиков хранятся на сервере отправителя. SMTP-сервер лишь пересылает письмо, не сохраняя данные.

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

Детальные отчёты о доставке писем и возникающих ошибках. К примеру, ошибка на этапе передачи данных MAIL FROM означает, что ваш обратный адрес не понравился серверу получателя.

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

Низкая стоимость. Отправка писем через SMTP обойдётся в десятки раз дешевле в сравнении с отправкой сообщений через сервисы email-рассылок. Сервисы email-рассылок предоставляют дополнительные возможности для работы с письмами: конструкторы, шаблоны, автоматические цепочки, подробную аналитику. У SMTP-сервера лишь одна задача — доставить сообщение адресату. Когда вам требуется максимально оперативно доставить большое количество писем, например, транзакционных, лучше использовать SMTP.

Особенности применения SMTP

Несмотря на все плюсы SMTP-сервера, у него есть свои особенности, которые нужно учитывать:

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

Источник

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

SMTP (Simple Mail Transfer Protocol)

SMTP

Уровень (по модели OSI):Прикладной
Семейство:стек протоколов TCP/IP
Назначение протокола:Отправка электронной почты
Спецификация:RFC 5321
Основные реализации (клиенты):MUA (The Bat!, MS Outlook, MS Outlook Express, Mozilla Thunderbird, Claws Mail и др.)
Основные реализации (серверы):MTA (sendmail, postfix, OpenSMTPD, qmail, exim, Microsoft Exchange Server, MDaemon)
Расширяемость:Доп. команды (RFC 2449)
Вступил в силу с:1982

SMTP (англ. Simple Mail Transfer Protocol ) – протокол передачи сообщений с компьютера на почтовый сервер для доставки конечному получателю. Этот протокол обеспечивает перенаправление почтовых сообщений (с помощью записей MX, или записей программы обмена электронной почтой, и записей А, или записей хоста в системе DNS), форматирование почтовых сообщений и установление сеансов между почтовыми клиентами и почтовыми серверами. В протоколе SMTP в качестве транспортного протокола обычно используется TCP, но могут применяться и другие протоколы, как определено в документе RFC 821.

Содержание

История

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

В 1971 г. появился Mail Box Protocol и SNDMSG, который был «изобретён» Рэем Томлинсоном из BBN Technologies для TOPS-20/TENEX-компьютеров, посылающих сообщения по ARPANET (в то время к ней были подсоединены менее 50 хостов). Данный протокол можно считать истоком протокола SMTP.

SMTP впервые был описан в RFC 821 (1982 год); последнее обновление в RFC 5321 (2008) включает масштабируемое расширение – ESMTP (англ. Extended SMTP). В настоящее время под «протоколом SMTP», как правило, подразумевают и его расширения. Протокол SMTP предназначен для передачи исходящей почты с использованием порта TCP 25.

Архитектура

smtp порт что это. Смотреть фото smtp порт что это. Смотреть картинку smtp порт что это. Картинка про smtp порт что это. Фото smtp порт что это

Рисунок 1 – Схема взаимодействия по протоколу SMTP

Канал связи устанавливается непосредственно между отправителем и получателем сообщения. При таком взаимодействии почта достигает абонента в течении нескольких секунд после отправки. [Источник 1]

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

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

Но в спецификации SMTP определен формат электронной почты и указано, какие наборы символов могут применяться в сообщениях электронной почты. Первоначально в спецификации SMTP было определено использование только 7-битовых символов ASCII. Но с появлением [MIME (Multipurpose Internet Mail Extensions)|стандарта многоцелевых почтовых расширений Internet (Multipurpose Internet Mail Extensions – MIME)]] и превращением Internet во всемирную сеть было предложено включить в дополнительные спецификации другие наборы символов. Благодаря этому в настоящее время электронное письмо может быть отправлено практически на любом национальном языке, а к письму могут прилагаться в закодированном виде данные почти любого типа, даже такие как изображения или исполняемые файлы. После внедрения всех этих дополнений протокол SMTP стал более сложным, но вместе с тем и более гибким.

Задачи

Обычный ответ SMTP сервера состоит из номера ответа, за которым через пробел следует дополнительный текст. Номер ответа служит индикатором состояния сервера. [Источник 2]

Команды

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

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

Конец строк в протоколе SMTP обозначается последовательностью символов «возврат каретки» (шестнадцатеричный код 0 D ) и «перевод строки» (шестнадцатеричный код 0А). Эта последовательность обозначается CRLF. Сервер начинает выполнение команды только получив от клиента строку, завершающуюся последовательностью CRLF.

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

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

Рассмотрим команды SMTP, необходимые для отправки сообщения.

EHLO (Расширенное HELO)

Диалог клиента и сервера, как правило, начинается с приветствия. В RFC 821 в качестве приветствия предлагалась команда HELO. Однако с введением расширений ESMTP, эта команда была заменена на EHLO. Использование расширений ESMTP возможно только после выполнения команды EHLO.

Передача почты возможна только после выполнения одной из двух названых команд. Другие команды, не связанные с передачей почты ( NOOP, HELP, EXPN, VRFY, RSET и QUIT ), в принципе могут быть исполнены и без приветствия.

В качестве аргумента клиент передает серверу свое полное доменное имя, если таковое имеется. Если клиент не имеет доменного имени, например, если в качестве клиента выступает MUA, установленный на компьютере, получающем адрес динамически, то в качестве аргумента передается адрес электронной почты отправителя. Желательно, чтоб полученная от клиента информация была исчерпывающей для его идентификации.

Сервер проверяет соответствие указанного клиентом в приветствии доменного имени его адресу IP. Результат проверки добавляется к заголовку письма, но диалог продолжается независимо от достоверности полученного сервером идентификатора.

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

Если устаревшее программное обеспечение сервера не поддерживает команду EHLO, то выдается сообщение об ошибке. В этом случае клиент должен попытаться повторить приветствие, используя команду HELO. Естественно, расширениями ESMTP уже не удастся воспользоваться.

HELO (Приветствие)

RFC 2821 рекомендует использовать команду HELO, только если программное обеспечение не поддерживает команду EHLO. Отличие этой команды только в том, что она делает невозможным использование расширений ESMTP.

В ответ на эту команду сервер сообщает, готов ли он к продолжению диалога.

MAIL (Отправитель)

Отправка электронного сообщения невозможна без успешного выполнения этой команды, для каждого письма команда MAIL должна быть выполнена только один раз.

Команда MAIL может быть выполнена только после успешного выполнения команды EHLO или H E LO.

С помощью этой команды серверу сообщается адрес отправителя письма. На этот адрес письмо должно вернуться в случае невозможности доставки. Если возврат не желателен, адрес может быть оставлен пустым: <>:

Обычно это бывает, если отправляемое сообщение уже и есть возвращаемое письмо. Это делается для того, чтобы избежать петли: письмо не может быть доставлено адресату и возвращается отправителю, но, если оно не может быть доставлено отправителю, то посылается обратно и так далее. Если же адрес отправителя не известен, то попытки вернуть его предприниматься не будут: в случае невозможности доставки получателю, письмо будет удалено.

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

Базовый протокол SMTP не предусматривает дополнительных параметров для команды MAIL, но такие параметры использует ряд расширений ESMTP.

RCPT (Получатель)

Доставка сообщения возможна, только если указан хотя бы один доступный адрес получателя. Команда RCPT принимает в качестве аргумента только один адрес. Если нужно послать письмо большему числу адресатов, то команду RCPT следует повторять для каждого. Согласно RFC 2821, сервера SMTP должны быть готовы принять до ста команд RCPT на одно сообщение. Если письмо адресовано большему числу получателей, то для оставшихся клиент должен передать сообщение повторно. Максимальное число получателей может быть изменено администратором.

Команда RCPT может быть выполнена только после успешного выполнения команды MAIL.

Сервер анализирует каждый адрес и после каждой команды RCPT выдает сообщение, свидетельствующее о возможности или невозможности доставки письма по указанному адресу.

Базовый протокол SMTP не предусматривает дополнительных параметров для команды RCPT, но такие параметры использует ряд расширений ESMTP.

DATA (Текст сообщения)

C помощью этой команды серверу передается текст сообщения, состоящий из заголовка и отделенного от него пустой строкой тела сообщения.

Команда DATA может быть выполнена только после успешного выполнения хотя бы одной команды RCPT.

Команда DATA не требует никаких параметров и завершается последовательностью CRLF.

В ответ на правильно введенную команду DATA сервер сообщает о готовности к приему или об ошибке, если прием сообщения невозможен.

В случае положительного ответа сервера, клиент передает сообщение.

Передача заканчивается строкой, состоящей из одной точки. Эта строка не является частью сообщения и удаляется на приемной стороне. Чтобы исключить ложное срабатывание в случае, если сообщение содержит строку, состоящую из одной точки, на передающей стороне к началу каждой строки, начинающейся с точки, добавляется еще одна точка. На приемной стороне добавленные точки удаляются.

Распознав окончание сообщения, сервер должен принять решение о возможности или невозможности доставки и послать соответствующий ответ клиенту. Сделать это следует как можно быстрее, если нет явных свидетельств невозможности доставки сообщения, его рекомендуется принять, сообщив клиенту об успешном завершении операции. Если доставка в последствии окажется невозможна, следует просто отправить письмо обратно, сообщив в квитанции причину отказа. Это делается для того, чтобы избежать проблемы, описанной в RFC1047 : не дождавшись ответа сервера, клиент разрывает соединение, считая передачу закончившейся неудачей, хотя сервер, возможно, позже осуществил доставку. Через некоторое время клиент снова пытается послать то же самое сообщение, что может привести к многократной передаче одного и того же письма. На ожидание ответа после завершения отправки сообщения рекомендуется выделять не меньше десяти минут. На ожидание других ответов отводятся от двух до пяти минут.

Необходимо принимать строки сообщения длиной до 1000 символов, включая последовательность CRLF, но не включая точку, добавляемую в начало строки во избежание ложного обнаружения конца сообщения.

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

QUIT (Выход)

Командой QUIT клиент заканчивает диалог с сервером. Сервер посылает подтверждение и закрывает соединение. Получив это подтверждение, клиент тоже прекращает связь.

Перечисленных команд вполне достаточно для того, чтобы передать сообщение. Однако RFC 2821 предусматривает еще ряд команд, которые могут быть использованы в основном в процессе отладки сервера.

HELP (Помощь)

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

VRFY (Проверить), EXPN (Раскрыть)

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

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

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

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

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

Согласно RFC 821, команды VRFY и EXPN не являются обязательными. Поэтому, если сервер их поддерживает, они должны быть перечислены в ответе сервера на команду EHLO, как расширения ESMTP.

NOOP (Пустая команда)

В ответ на команду NOOP сервер посылает подтверждение выполнения. Никаких действий на сервере не производится, параметры команды игнорируются.

RSET (Сброс)

Команда RSET аннулирует все переданные до нее на сервер данные. Процесс передачи сообщения следует начать заново.

Перечисленные команды используются вместо команды MAIL для передачи сообщения на терминал получателя (SEND) или в его почтовый ящик, если пользователь не активен или запретил прием сообщений ( SOML ) или и на терминал, и в почтовый ящик (SAML).

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

TURN (Смена направления передачи)

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

Команда TURN представляет потенциальную опасность, так как она может быть использована для перехвата чужой почты. Потому RFC 2821 категорически не рекомендует ее использовать. Хорошими альтернативами команде TURN являются расширения ESMTP ETRN и ATRN, рассматриваемые ниже.

Ответы сервера SMTP

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

В большинстве случаев для правильной интерпретации ответа клиенту достаточно числового кода. Текстовая строка нужна для интерпретации ответа человеком. Исключение составляет ответ на команду EHLO, содержащий список расширений ESMTP, поддерживаемых сервером, а так же ответы на некоторые команды ESMTP.

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

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

Вторая цифра может принимать следующие значения:

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

В таблице ниже собраны ответы, предусмотренные для команд SMTP.

КодРасшифровкаКоманды
211Состояние системыHELP
214Информация об использовании командHELP
220Готовность к работеУстановление соединения
221Канал передачи закрытQUIT
250Команда выполнена успешноEHLO, HELO, MAIL, RCPT DATA, RSET, VRFY, EXPN, NOOP
251Почта для данного пользователя переадресована и будет доставлена по новому адресуRCPT, VRFY
252Команда не будет выполнена, но доставка сообщения возможна. Ответ свидетельствует о том, что выполнение команд заблокировано из соображений безопасности, и не может быть интерпретирован как информация об опрашиваемом почтовом ящикеVRFY, EXPN
354Команда DATA принята, ожидается текст сообщения, заканчивающийся строкой, состоящей из одной точкиDATA
421Служба недоступна, связь прекращается. Ответ выдается при прекращении работы сервера во время сеанса связиЛюбая
450Доставка сообщения в данный момент не возможна: почтовый ящик не доступенRCPT
451Выполнение команды прервано: ошибка сервераMAIL, RCPT, DATA
452Команда не выполнена: недостаточно памятиMAIL, RCPT, DATA
500Синтаксическая ошибка, команда не понята (возможно, превышена допустимая длина строки)Несуществующая команда
501Синтаксическая ошибка в параметрах или аргументах (например, использование параметров в командах, не допускающих параметров)Любая
502Команда не поддерживается (отключена администратором)VRFY, EXPN, HELP
503Неправильный порядок командMAIL, RCPT, DATA
504Параметр команды не поддерживаетсяEHLO, HELO, VRFY, EXPN, HELP
550Команда не выполнена: почтовый ящик недоступен (не найден, доступ запрещен, выполнение команды запрещено администратором)EHLO, HELO, MAIL, RCPT, VRFY, EXPN
551Адрес пользователя изменилсяRCPT, VRFY
552Выполнение команды прервано: превышен выделенный объем памятиMAIL, RCPT, DATA
553Неправильный синтаксис адресаMAIL, RCPT, VRFY
554Служба SMTP на вызываемой машине не запущенаУстановление соединения
554Доставка не может быть осуществлена ни по одному адресу DATA

В случае переадресации почты допускается также использование ответа 250. В этом случае клиент о переадресации не информируется. Сервер может также отказать в приеме почты для уже не существующего пользователя и послать ответ 551 с указанием нового адреса или ответ 550. [Источник 3]

Источник

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

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