Вопросы и Ответы

Что такое протокол SMTP

0

SMTP (англ. Simple Mail Transfer Protocol — простой протокол передачи почты) — это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.

ESMTP (англ. Extended SMTP) — масштабируемое расширение протокола SMTP. В настоящее время под «протоколом SMTP», как правило, подразумевают ESMTP и его расширения.

Обзор протокола

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

Чтобы доставить сообщение до адресата, необходимо переслать его почтовому серверу домена, в котором находится адресат. Для этого обычно используется запись типа MX (англ. Mail eXchange — обмен почтой) системы DNS. Если MX запись отсутствует, то для тех же целей может быть использована запись типа A. Некоторые современные реализации SMTP-серверов (например, Exim[1]) для определения сервера, обслуживающего почту в домене адресата, также могут задействовать SRV-запись (RFC 2782).

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

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

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

Сервер SMTP — это конечный автомат с внутренним состоянием. Клиент передает на сервер строку команда<пробел>параметры<перевод строки>. Сервер отвечает на каждую команду строкой, содержащей код ответа и текстовое сообщение, отделенное пробелом. Код ответа — число от 100 до 999, представленное в виде строки, трактующийся следующим образом:

  • 2ХХ — команда успешно выполнена
  • 3XX — ожидаются дополнительные данные от клиента
  • 4ХХ — временная ошибка, клиент должен произвести следующую попытку через некоторое время
  • 5ХХ — неустранимая ошибка

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

ESMTP — расширяемый протокол, в отличие от SMTP. При установлении соединения сервер объявляет о наборе поддерживаемых расширений (в качестве ответа на команду EHLO). Соответствующие расширения могут быть использованы клиентом при работе. Необходимо помнить, что если сессия начинается с команды HELORFC 821 (используемой в «классическом» SMTP), то список расширений выводиться не будет.

Безопастность SMTP

Изначально SMTP не поддерживал единой схемы авторизации. В результате этого спам стал практически неразрешимой проблемой, так как было невозможно определить, кто на самом деле является отправителем сообщения — фактически можно отправить письмо от имени любого человека. В настоящее время производятся попытки решить эту проблему при помощи спецификаций SPF, Sender ID, DKIM. Единой спецификации на настоящий момент не существует.

Пример SMTP сессии

C: — клиент, S: — сервер

S: (ожидает соединения)C: (Подключается к порту 25 сервера)S:220 mail.company.tld ESMTP CommuniGate Pro 5.1.4i is glad to see you!C:HELOS:250 domain name should be qualifiedC:MAIL FROM: <someusername@somecompany.ru>S:250 someusername@somecompany.ru sender acceptedC:RCPT TO:<user1@company.tld>S:250 user1@company.tld okC:RCPT TO: <user2@company.tld>S:550 user2@company.tld unknown user accountC:DATAS:354 Enter mail, end with "." on a line by itselfC:from: someusername@somecompany.ru //чтобы письмо C:to: user1@company.tld //не было добавленоC:subject: tema //в категорию спамC:Hi!C:.S:250 769947 message accepted for deliveryC:QUITS:221 mail.company.tld CommuniGate Pro SMTP closing connectionS: (закрывает соединение)

В результате такой сессии письмо будет доставлено адресату user1@company.tld, но не будет доставлено адресату user2@company.tld, потому что такого адреса не существует.

Расширение ESMTP

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

Если же сервер поддерживает ESMTP, то кроме приветствия он сообщит список поддерживаемых расширений протокола SMTP, например:

ehlo office.company1.tld250-mail.company2.tld is pleased to meet you250-DSN250-SIZE250-STARTTLS250-AUTH LOGIN PLAIN CRAM-MD5 DIGEST-MD5 GSSAPI MSN NTLM250-ETRN250-TURN250-ATRN250-NO-SOLICITING250-HELP250-PIPELINING250 EHLO

YouTube

 Изменить 

Александр

Спасибо МИЛ человек! )
10.10.18

Ещё Что такое

Что такое леворукость | Вопрос и Ответ
Использование левой или правой руки в качестве ведущей (так называемая «рукость») — это не прихоть ребенка, не желание его или окружающих. Это прежде всего отражение психической

Что такое лейпцигская школа в психологии | Вопрос и Ответ
Лейпцигская школа — психологическое направление, возникшее в Германии в конце 10-x гг. ХХ в. и просуществовавшее до середины 30-х гг. К этому направлению принадлежали: Ф. Крюгер, Х.

Что такое фармакология | Вопрос и Ответ
Нутрициология — это одно из направлений науки о питании человека и животных (от позднелат. nutrio — питание, пища и logos — слово). Нутрициология является

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

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

Что такое секанс и косеканс | Вопрос и Ответ
Тригонометрия — это раздел математики, в котором изучаются тригонометрические функции, их свойства, взаимосвязи и применение. Слово «тригонометрия» образовано от

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

Что такое дефектные пиксели | Вопрос и Ответ
Изображение на мониторе состоит из точек, называемых пикселями. Битые пиксели представляют собой черную или светлую на черном фоне точку на ЖК-мониторе, появившуюся в результате его

Что такое энтузиазм | Вопрос и Ответ
Энтузиазм - сильное одушевленье, увлеченье, восхищенье, страстное обаяние, восторженость. Энтузиазм - это душевный подъём, сильная увлечённость. Энтузиазм (греч.

Что такое nProtect GameGuard | Вопрос и Ответ
nProtect GameGuard или GameGuard (часто сокращается до GG) — это программная система предотвращения читерства, разработанная INCA Internet. Поставляется в комплекте со многими MMORPG,

Фото Интернет

 Изменить 
Что такое nProtect GameGuard