Сайт о телевидении

Сайт о телевидении

» » Sntp протокол. Расширенный протокол SMTP. Настраиваем сервер SMTP на Yandex

Sntp протокол. Расширенный протокол SMTP. Настраиваем сервер SMTP на Yandex

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


Список команд протокола SMTP:

Команды прямо указанные в RFC 5321:

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

Пример:
HELO orsi1.rsmc.ru

  • MAIL - Определяет отправителя сообщения. Поле аргументов содержит обратный путь и может включать дополнительные параметры. Собственно этой командой задаётся отправитель письма (MAIL FROM)

Пример:
MAIL FROM:

  • RCPT - Определяет получателей сообщения. Одно и то же сообщение могут получать несколько пользователей. Обычно каждый получатель указывается отдельной строкой с командой RCPT.

Пример:
RCPT TO: root@сайт

  • DATA - Определяет начало сообщения. Не поддерживает параметров. После обработки команд MAIL и RCPT команда DATA используется для передачи информационной части сообщения. Все, что следует за этой командой, интерпретируется как сообщение для передачи. Вот оно, наше письмо! 

Пример:
DATA

  • RSET - Сброс SMTP-соединения па. Не поддерживает параметров. Возвращает сеанс к моменту после ввода команды HELO (EHLO) при этом все ранее посланные команды MAIL, RCPT и DATA считаются аннулированными.
  • VRFY - Проверяет имя пользователя системы. Если на почтовом сервере имеется локальный пользователь с заданным именем, то сервер вернет его полный почтовый адрес. Если такого локального пользователя нет то вернется сообщение об ошибке, либо сообщение о том что сервер будет пересылать письма дальше. В случае имени заданного в примере мы скорее всего получим сообщение об ошибке.

Пример:
VRFY kyrych

  • EXPN - Запрашивает список рассылки и почтовых псевдонимов.

Пример:
EXPN mail-list

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

Пример:
HELP VRFY

  • NOOP - No operation — Ничего не делать.

Пример:
NOOP

  • QUIT - Закончить сеанс SMTP. Не поддерживает параметров.

Пример:
QUIT

Прочие команды:

  • SEND - Посылает сообщение на терминал зарегистрированного пользователя. Эта команда выполняется, только если пользователь находится в системе, и обычно выглядит как всплывающее сообщение. Не самая популярная команда.
  • SOML - Если получатели сообщения подключены к системе, то SOML работает как команда SEND. Если не подключен, то как команда MAIL. Из-за небезопасности этой команды её редко реализуют на сервере.
  • SAML - передает сообщение на терминал пользователя, если он находится в системе и одновременно кладет это сообщение в его почтовый ящик.
  • TURN - Реверс ролей в SMTP (клиент становится сервером). Обычно протоколом SMTP предусмотрена пересылка сообщений только в одном направлении через одно TCP-соединение. Назначение команды TURN заключается в организации двустороннего обмена почтовыми сообщениями между двумя компьютерами по имеющемуся TCP-соединению. Из за популярности этой команды у злоумышленников её реализацию не часто можно встретить на сервере.
  • AUTH - Показывает серверу механизм аутентификации. RFC 4954 (заменил RFC 2554).
  • Вперёд
Добавить комментарий


  • Телеметрия в Windows 10. Отключай, не отключай, всё равно получишь лучшее решение
  • Го. Компьютер смог обыграть чемпиона трехкратного чемпиона Европы по игре го
  • Новые "подарки" от Microsoft - "стабильность" и "приватность"
Новые статьи
  • Не включается сетевое обнаружение в Windows 7/8/2008/2012
  • Ошибка: This application failed to start because it could not find or load the Qt platform plugin «windows».

    Итак, после установки путём прямого копирования приложения написанного на С++ с использованием библиотеки Qt Получаем следующую ошибку: This application failed to start...

Ярким пунктом многих протоколов прикладного уровня,является то, что они простые. Протоколы, основанные на TCP используют в основном команды и ответы в текстовом формате, что делает их более удобными для пользователей, чтобы понять и программистам для реализации.

Для дальнейшей иллюстрации мы рассмотрим два протокола, которые можно использовать каждый день, чтобы отправлять и получать электронную почту: SMTP и POP3.
Простой протокол передачи почты: SMTP
Simple Mail Transfer Protocol (SMTP) является одним из самых уважаемых интернет-протоколов. Разработанный в начале 1980-х, его функции чисто и просто передают по электронной почте, а также между сетями и другими транспортными системами. Таким образом, его использование не обязательно должно быть ограничено в системах, использующих протокол TCP / IP . Любая система связи способна обрабатывать линии до 1000 7-битных ASCII символов которые могут быть использованы для выполнения сообщений по протоколу SMTP. В TCP / IP сети, однако, TCP обеспечивает транспортный механизм.
В SMTP-отправитель является клиентом, а клиент может взаимодействовать с различными серверами. Сообщения могут отправляться непосредственно от отправляющего хоста на хост-получателя, требующего отдельного соединения TCP и должны быть сделаны каждая копия каждого сообщения. Тем не менее, несколько получателей почты могут запустить свой собственный сервер SMTP.
Это наиболее характерно для назначения SMTP сообщений,сервер, который обслуживает группу пользователей, таких как интернет-домены. Сервер получает всю почту, предназначенную для пользователей, а затем позволяет им собирать, используя POP3 (Post Office Protocol версии 3) или другие почтовые протоколы. Кроме того, большинство SMTP-клиентов посылают сообщения в один «умный хост» сервер, чья работа заключается в том, чтобы передать эти сообщения для своих возможных получателей.
Транзакции SMTP начинаются тогда, когда отправитель клиент открывает TCP соединение с приемником, используя известный номер порта 25. Сервер признает связь, отправив обратно сообщение вида «220 SMTP Server Ready «. SMTP использует похожий формат ответов на FTP, который мы рассмотрели ранее. Полученный трехзначный код, программное обеспечение клиента должно ответить, если все будет ОК. Эта стаья, чтобы помочь людям, которые могли бы устранить неполадки с помощью анализа журнала транзакций. В окне «Application Protocol Ответы кодов» содержится более подробная информация о кодах сообщений ответа.
Сервер SMTP может отказать в связи, отправив обратно сообщение с ответным кодом «421 Служба недоступна». Например, SMTP сервер провайдера услуг Интернета, при условии, для своих абонентов для передачи исходящей почты может отказать в связи с хостом, чей IP-адрес указывает, что он не является абонентом ISP. Основной SMTP протокол не имеет формы контроля доступа - так, как его можно использовать для передачи сообщений и это делает его непрактичным - так что единственный путь,в котором провайдеры могут предотвратить неподписчиков, таких как спамеров, от использования своих почтовых серверов для отправки сообщений.
Получив подтверждение правильных знаков отправителя на сервер, сервер отправляет строку «HELO имя». HELO знак на команду и имя, является именем хоста. Как мы увидим, имя хоста используется в редакции: заголовок, сервер добавляет сообщение, когда он отправляет его по своему пути. Эта информация позволяет получателю проследить путь по сообщению.
Посылающий сервер
Когда отправитель получает признание «250 OK» он может начать отправку сообщений. Протокол чрезвычайно прост. Всё что отправители должны сделать, это сказать, какие из сообщений должны поставлять содержимое сообщения.
Сообщение задаётся с помощью команды «MAIL FROM: ». Эта команда также сообщает получателю, что он собирается получать новые сообщения, так что он знает, чтобы очистить свой список получателей. Адрес в угловых скобках является обратным путём для сообщения. Обратный путь это адрес, такой,что любое сообщение об ошибке будет сгенерировано, если сообщение не доставлено или не отправляется.
Оно действительно на обратном пути и является недействительным, как в «MAIL FROM: ». Это обычно используется при отправки отчета об ошибке. Нулевой путь возврата означает, что отчет об ошибке, не требуется. Его основной целью является не попасть в ситуацию, в которой сообщения невозможно доставить трансферу туда и обратно, потому что оба адреса отправителя и получателя недоступны.
Получатели сообщений определяется с помощью команды «RCPT TO: ». Каждый адрес, заключен в угловые скобки. Сообщение может иметь много получателей, и RCPT TO: команда отправляется для каждого из них. Эти RCPT TO: команды, не все в заголовке сообщения, которые прибывают к месту назначения. В случае скрытых копий сообщений или списка адресов серверов получателя не будут отображаться в заголовке вообще.
Каждый получатель признается с ответом «250 OK». Получатель также может быть отклонён при использовании ответа с кодом 550 ответа. Это зависит от того, как сервер был настроен. Удаленный доступ к серверам провайдера SMTP может принять каждую команду RCPT TO:, даже если указанный адрес, является недействительным, так как сервер не знает, что адрес неверный, пока он не сделаеь поиск DNS на нём. Тем не менее, почтовый сервер, предназначенный для приема сообщений для локальных пользователей или конкретного домена будет отвергать почту для адресов, которые не находятся в этой области.
Могут быть получены и другие ответы в ответ на RCPT TO: сообщения, что сервер SMTP был полезным. Если адрес неправильный, но сервер не знает правильный адрес он может ответить «251 Пользователь не местный; направит » или «551 Пользователь не местный, попробуйте ». Обратите внимание на различные коды ответов означающих что, сервер направляет сообщение или нет. Эти ответы не являются общими, и почтовый клиент может просто отправить ответ 551 , как ошибку, а не пытаться анализировать альтернативные адреса из текста ответа.
Для полноты картины следует отметить, что команды RCPT TO: могут задавать маршруты, а не просто адреса. Маршрут будет выражаться в виде «RCPT TO: ».
Текст сообщений.
После того как все получатели были указаны, всё, что остается сделать отправителю отправить сообщение. Сначала он отправляет команду «DATA», а затем ожидает ответа типа: «354 Start вход почты, с конца .». Сообщение будет отправлено в виде последовательности строк текста. Но не будет получено подтверждений для каждой строки, хотя отправитель должен следить за ответом,который указывает на ошибки.
В конце сообщения, как указано в ответе указанном выше, период (точка) на линии своих собственных. Таким образом, одной из самых простых, но самых важных вещей,это то что почтовый клиент должен сделать - убедиться, что строка, содержащая один период не появляется в самом тексте. В конце сообщения признается с ответом «250 OK». Стоит отметить, что SMTP ни в малейшей степени не заинтересован в содержании сообщения. Это может быть все что угодно, хотя, строго говоря, сообщения не должны содержать любые символы с ASCII значениями в диапазоне от 128 до 255, а строки текста не должны превышать 1000 знаков. Так же не требуется, чтобы заголовки адреса отправителя и получателя, которые использовали команды SMTP, что делает их лёгкими для сообщений, по всей видимости, пришли от кого-то другого, чем истинный отправитель.

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

Что такое POP3?

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

По умолчанию протокол POP3 работает на двух портах:

    порт 110 — это незашифрованный порт POP3;

    порт 995 — его нужно использовать, если вы хотите безопасно подключиться к POP3.

Что такое IMAP?

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

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

Протокол IMAP работает на двух портах:

    порт 143 - это незашифрованный порт IMAP по умолчанию;

    порт 993 - его необходимо использовать, если вы хотите безопасно подключиться с помощью IMAP.

Что такое SMTP?

Протокол - это стандартный протокол для отправки электронной почты через Интернет.

SMTP работает в трех портах:

    порт 25 — это незашифрованный по умолчанию;

    порт 2525 — он открывается на всех серверах SiteGround, если порт 25 фильтруется (например, вашим интернет-провайдером), и вы хотите отправлять незашифрованные электронные письма с помощью SMTP;

    порт 465 — он используется, если вы хотите безопасно отправлять сообщения с помощью SMTP.

По каким протоколам происходит обмен электронной почтой? Понятия и термины

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

Сервер входящей почты — это сервер, связанный с вашей учетной записью адреса электронной почты. Для нее не может быть более одного входящего почтового сервера. Для доступа к входящим сообщениям необходим почтовый клиент — программа, которая может получать электронную почту из учетной записи, позволяя пользователю читать, пересылать, удалять и отвечать на сообщения. В зависимости от вашего сервера, вы можете использовать выделенный почтовый клиент (например, Outlook Express) или веб-браузер. Так, Internet Explorer применяют для доступа к учетным записям на основе электронной почты. Письма хранятся на сервере входящей почты до его загрузки. После того, как вы загрузили свою почту с почтового сервера, сделать повторно это будет нельзя. Чтобы успешно загрузить данные, необходимо ввести правильные настройки в электронной почтовой программе. Большинство входящих почтовых серверов используют один из следующих протоколов: IMAP, POP3, HTTP.

Исходящий почтовый сервер (SMTP)

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

Порты электронной почты

Для сетей порт означает конечную точку логического соединения. Номер порта определяет его тип. Ниже перечислены порты электронной почты по умолчанию:

    POP3 - порт 110;

    IMAP - порт 143;

    SMTP - порт 25;

    HTTP - порт 80;

    безопасный SMTP (SSMTP) - порт 465;

    безопасный IMAP (IMAP4-SSL) - порт 585;

    IMAP4 через SSL (IMAPS) - порт 993;

    Secure POP3 (SSL-POP) - порт 995.

Протоколы электронной почты: IMAP, POP3, SMTP и HTTP

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

Протокол IMAP

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

Протокол POP3

Протокол передачи электронной почты POP (Post Office Protocol 3) обеспечивает простой, стандартизированный способ доступа пользователей к почтовым ящикам и загрузки сообщений на их компьютеры.

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

Протокол SMTP

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

Протоколы HTTP

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

Управляемые передачи файлов и сетевые решения

Ваша способность отправлять и получать электронную почту в основном обусловлена ​тремя протоколами TCP. Ими являются SMTP, IMAP и POP3.

SMTP

Начнем с SMTP, потому что его основная функция отличается от двух других. Протокол SMTP, или Simple Mail Transfer Protocol, в основном используется для отправки электронной почты от почтового клиента (например, Microsoft Outlook, Thunderbird или Apple Mail) на сервер электронной почты. Он также используется для ретрансляции или пересылки почтовых сообщений с одного почтового сервера на другой. Это необходимо в случае, если у отправителя и получателя есть разные поставщики услуг электронной почты.

SMTP, который указан в RFC 5321, использует порт 25 по умолчанию. Он также может использовать порт 587 и порт 465. Последний, который был представлен как порт выбора для безопасного SMTP (a.k.a. SMTPS), считается устаревшим. Но на самом деле он по-прежнему используется несколькими поставщиками почтовых услуг.

POP3

Протокол почтового отделения, или POP, используется для извлечения сообщений электронной почты с Последняя версия, которая широко используется, - это версия 3, отсюда и термин «POP3».

POP, версия 3, указанная в RFC 1939, поддерживает расширения и несколько механизмов аутентификации. Функции проверки подлинности необходимы, чтобы злоумышленники не получали доступ к сообщениям пользователей.

Клиент POP3 получает электронную почту следующим образом:

    подключается к почтовому серверу на порту 110 (или 995 для соединений SSL/TLS);

    удаляет копии сообщений, хранящихся на сервере;

    отключается от сервера.

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

    IMAP

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

    Логика работы (настройки imap4):

    • подключается к почтовому серверу через порт 143 (или 993 для соединений SSL / TLS);

      извлекает сообщения электронной почты;

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

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

    Выбор между IMAP и POP3

    Поскольку основная функция SMTP принципиально отлична, дилемма выбора лучшего протокола обычно включает только IMAP и POP3.

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

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

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

    Например, если вы читаете сообщения A, B и C, то хотите, чтобы они также были помечены как «прочитанные» на других устройствах. Если вы удалили письма B и C, то захотите, чтобы те же сообщения удалялись из вашего почтового ящика на всех гаджетах. Все эти синхронизации могут быть достигнуты только в том случае, если вы используете IMAP.

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

    Разумеется, все функциональные возможности IMAP имеют свою цену. Эти решения сложнее реализовать, и в конечном итоге протокол потребляет намного больше ЦП и ОЗУ, особенно когда он выполняет процесс синхронизации. Фактически высокая загрузка процессора и памяти может произойти как на стороне клиента, так и на стороне сервера, если есть тонна сообщений для синхронизации. С этой точки зрения протокол POP3 менее затратен, хотя и менее функционален.

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

    Скорость — преимущество, которое варьируется и зависит от ситуации. POP3 имеет возможность загружать все почтовые сообщения при подключении. А IMAP может при необходимости (например, при недостаточном количестве трафика) загружать только заголовки сообщений или определенные части и оставлять вложения на сервере. Только когда пользователь решит, что оставшиеся части стоят загрузки, они станут доступны для него. Поэтому IMAP можно считать более быстрым.

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

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

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

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

    Спам-брандмауэры с SMTP, IMAP и POP3

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

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

SMTP реализуется в современных сетях стандарта TCP/IP. Впервые информация об использовании протокола появилась еще в 1982 г. Несмотря на то, что сервер SMTP может быть использован и для получения сообщений, на сегодняшний день большинство почтовых клиентов используют его только для отправки, предпочитая другие технологии (например, POP или IMAP) для приема информации. Протокол является одним из наиболее популярных и используется подавляющим числом почтовых программ и серверов.

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

Настройка SMTP

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

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

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

S imple M ail T ransfer P rotocol ) – протокол передачи сообщений с компьютера на почтовый сервер для доставки конечному получателю. Этот протокол обеспечивает перенаправление почтовых сообщений (с помощью записей MX, или записей программы обмена электронной почтой, и записей А, или записей хоста в системе DNS), форматирование почтовых сообщений и установление сеансов между почтовыми клиентами и почтовыми серверами. В протоколе SMTP в качестве транспортного протокола обычно используется TCP , но могут применяться и другие протоколы, как определено в документе RFC 821 . История

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

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

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

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

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

Задачи

Основная задача протокола SMTP (Simple Mail Transfer Protocol) заключается в том, чтобы обеспечивать передачу электронных сообщений (почту). Для работы через протокол SMTP клиент создаёт TCP соединение с сервером через порт 25. Затем клиент и SMTP сервер обмениваются информацией пока соединение не будет закрыто или прервано. Основной процедурой в SMTP является передача почты (Mail Procedure). Далее идут процедуры Mail Forwarding, проверка имён почтового ящика и вывод списков почтовых групп. Самой первой процедурой является открытие канала передачи, а последней - его закрытие.

Команды SMTP указывают серверу, какую операцию хочет произвести клиент. Команды состоят из ключевых слов, за которыми следует один или более параметров. Ключевое слово состоит из 4-х символов и разделено от аргумента одним или несколькими пробелами. Каждая командная строка заканчивается символами CRLF. Вот синтаксис всех команд протокола SMTP (SP - пробел):

HELO MAIL FROM: RCPT TO: DATA RSET SEND FROM: SOML FROM: SAML FROM: VRFY EXPN HELP NOOP QUIT

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

Команды

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

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

В командах допускается использование только кодировки us - ascii, то есть символов, кодируемых семью битами. Это цифры, латинские буквы, и знаки препинания. Если информация передается восьмибитными блоками (октетами), старший бит должен быть равен нулю. Корректная интерпретация символов, старший, восьмой бит которых равен единице, например, русских букв, не гарантируется, использовать такие символы не следует.

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

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

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

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

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

Формат команды:

EHLO полное_доменное_имя_клиента CRLF

EHLO адрес_отправителя CRLF

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

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

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

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

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

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

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

Формат команды:

HЕLO полное_доменное_имя_клиента CRLF

HЕLO адрес_отправителя CRLF