Simple Mail Transfer Protocol

Simple Mail Transfer Protocol
SMTP
Название:

Simple Mail Transfer Protocol

Уровень (по модели OSI):

Прикладной

Семейство:

TCP/IP

Порт/ID:

25/TCP

Назначение протокола:

Отправка электронной почты

Основные реализации (клиенты):

MUA (The Bat!, MS Outlook, MS Outlook Express, Mozilla Thunderbird)

Основные реализации (серверы):

MTA (postfix, exim)

Расширяемость:

Доп. команды (RFC 2449)

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

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

Содержание

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

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

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

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

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

Протокол был разработан для передачи только текста в кодировке MIME, который описывает способ преобразования двоичных файлов в текстовые. В настоящее время большинство серверов поддерживают 8BITMIME, позволяющий отправлять двоичные файлы так же просто, как текст.

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

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

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

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

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

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

Пример простейшей SMTP-сессии

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

S: (ожидает соединения)
C: (Подключается к порту 25 сервера)
S:220 mail.company.tld ESMTP CommuniGate Pro 5.1.4i is glad to see you!
C:HELO
S:250 domain name should be qualified
C:MAIL FROM: <someusername@somecompany.ru>
S:250 someusername@somecompany.ru sender accepted
C:RCPT TO:<user1@company.tld>
S:250 user1@company.tld ok
C:RCPT TO: <user2@company.tld>
S:550 user2@company.tld  unknown user account
C:DATA
S:354 Enter mail, end with "." on a line by itself
C:Hi!
C:.
S:250 769947 message accepted for delivery
C:QUIT
S:221 mail.company.tld CommuniGate Pro SMTP closing connection
S: (закрывает соединение)

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

Расширения ESMTP

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

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

ehlo office.company1.tld
250-mail.company2.tld is pleased to meet you
250-DSN
250-SIZE
250-STARTTLS
250-AUTH LOGIN PLAIN CRAM-MD5 DIGEST-MD5 GSSAPI MSN NTLM
250-ETRN
250-TURN
250-ATRN
250-NO-SOLICITING
250-HELP
250-PIPELINING
250 EHLO

Стандарты RFC

  • RFC 1870 SMTP Service Extension for Message Size Declaration (заменяет RFC 1653)
  • RFC 2034 SMTP Service Extension for Returning Enhanced Error Codes
  • RFC 2505 Anti-Spam Recommendations for SMTP MTAs (BCP 30)
  • RFC 2554 SMTP Service Extension for Authentication
  • RFC 2821 The Simple Mail Transfer Protocol (заменяет RFC 821 aka STD 10, RFC 974 и RFC 1869)
  • RFC 2822 Internet Message Format (заменяет RFC 822 aka STD 11)
  • RFC 2920 SMTP Service Extension for Command Pipelining (STD 60)
  • RFC 3030 SMTP Service Extensions for Transmission of Large and Binary MIME Messages
  • RFC 3207 SMTP Service Extension for Secure SMTP over Transport Layer Security (заменяет RFC 2487)
  • RFC 3461 SMTP Service Extension for Delivery Status Notifications (заменяет RFC 1891)
  • RFC 3462 The Multipart/Report Content Type for the Reporting of Mail System Administrative Messages (заменяет RFC 1892)
  • RFC 3463 Enhanced Status Codes for SMTP (заменяет RFC 1893)
  • RFC 3464 An Extensible Message Format for Delivery Status Notifications (заменяет RFC 1894)
  • RFC 3552 Guidelines for Writing RFC Text on Security Considerations
  • RFC 3834 Recommendations for Automatic Responses to Electronic Mail
  • RFC 4409 Message Submission for Mail (заменяет RFC 2476)

Примечания

  1. Спецификация Exim MTA Описание dnslookup роутера(англ.)

См. также

Основные протоколы TCP/IP Прикладной уровень

 ·  ·  ·  ·  ·  ·  ·  ·  ·  ·  · Электронная почта SMTP  ·  · IMAP4 Передача файлов  ·  · Удалённый доступ  ·  · Уровень представления XDR Транспортный уровень  ·  ·  ·  ·  · Сетевой уровень IPv4  ·  ·  ·  ·  · Канальный уровень  · 802.11 WiFi  · Token ring  ·  · PPP  ·  ·  ·  · DTM  ·  · Frame Relay  · Физический уровень  ·  ·  ·  · EIA-485

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Simple Mail Transfer Protocol" в других словарях:

  • Simple mail transfer protocol — Pile de protocoles 7 • Application 6 • Présentation 5 • Session 4 • …   Wikipédia en Français

  • Simple Mail Transfer Protocol — Fonction Envoi de courriels Sigle SMTP Port 25 (sans authentification) 587 (avec authentification) …   Wikipédia en Français

  • Simple Mail Transfer Protocol — (SMTP) Familia: Familia de protocolos de Internet Función: Envío de mensajes de correo electrónico Puertos: 25/TCP 587/TCP (Alternativo para clientes de correo) 465/TCP (SMTPS) Ubicación en la pila de protocolos …   Wikipedia Español

  • Simple Mail Transfer Protocol — (SMTP), o protocolo simple de transferencia de correo electrónico. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre computadoras y/o distintos dispositivos (PDA s, Celulares, etc) …   Enciclopedia Universal

  • Simple Mail Transfer Protocol — Simple Mail Transfer Protocol,   SMTP …   Universal-Lexikon

  • Simple Mail Transfer Protocol — This article is about the Internet standard for electronic mail transmission. For the email delivery company, see SMTP (company). Internet protocol suite Application layer …   Wikipedia

  • Simple Mail Transfer Protocol — SMTP (Simple Mail Transfer Protocol) Familie: Internetprotokollfamilie Einsatzgebiet: Einspeisung von E Mail (Mail Submission), Abholung von E Mails eventuell über mehrere Stationen (Mail Transfer) Ports: 25/TCP 465/TCP (Verschlüsselt) 587/TCP… …   Deutsch Wikipedia

  • Simple Mail Transfer Protocol — SMTP protokolas statusas T sritis informatika apibrėžtis ↑Elektroninio pašto ↑protokolas, naudojamas elektroniniams laiškams persiųsti tarp kelių interneto ↑serverių. Siuntėjas laišką pateikia SMTP serveriui. Šis laišką persiunčia toliau. Tinklo… …   Enciklopedinis kompiuterijos žodynas

  • Simple Mail Transfer Protocol - AUTHentication — Internet message access protocol authentication SMTP AUTH est une extension du protocole SMTP. C est un protocole de transfert des courriels sur Internet qui inclut une étape d authentification au cours de laquelle le client se connecte… …   Wikipédia en Français

  • Simple Mail Transfer Protocol —    Abbreviated SMTP. The TCP/IP (Transmission Control Protocol/Internet Protocol) protocol that provides a simple e mail service and is responsible for moving e mail messages from one e mail server to another. SMTP provides a direct end to end… …   Dictionary of networking


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»