Home

Page 10
Page 10
background image

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

@host1, @host2, …, @hostN:author@next.ru
Где  host1,  host2,  hostN  –  FQDN  почтовых   серверов,   через   которые 

необходимо маршрутизировать ответ на данное письмо, user@domain - почтовый 
ящик   отправителя   письма.   Но,   по   причинам,   рассмотренным   ранее, 
маршрутизация от источника сегодня не применяется и поэтому такой синтаксис 
аргумента команды MAIL сегодня не используется.

После   команды  MAIL  клиент   должен   передать   команду  RCPT,   в   которой 

указывается, КОМУ должно быть передано письмо, формат команды:

RCPT TO:user@mail.ru<CR><LF> или
RCPT TO:Любой текст<user@mail.ru><CR><LF> или
RCPT TO:<user@mail.ru><CR><LF>
Отметим, что в одной команде  RCPT  не может указываться более одного 

адреса  получателя, однако клиент  может передать серверу  несколько  команд 
RCPT одну за другой, например:

MAIL FROM: author@next.ru<CR><LF>
RCPT TO:user@mail.ru<CR><LF>
RCPT TO:user1@mail.ru<CR><LF>
RCPT TO:user2@mail.ru<CR><LF>
Это   приведет   к   тому,   что   данное   письмо   будет   доставлено   всем 

получателям, указанным в командах RCPT. При этом сервер может ограничивать 
количество   команд  RCPT,   которые   может   указать   пользователь   при   отправке 
письма   на   свое   усмотрение,   так   как   отправка   одного   письма   с   многими 
адресатами приводит к умножению трафика (клиент послал одно письмо, сервер 
превратил его в сотни или тысячи писем).

Как и в случае с командой  MAIL, аргументом команды  RCPT  тоже может 

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

@host1, @host2, …, @hostN:author@next.ru
Где  host1,  host2,  hostN  –  FQDN  почтовых   серверов,   через   которые 

необходимо   маршрутизировать   данное   письмо,  user@domain  -   почтовый   ящик 
получателя письма. Как и в случае с обратными маршрутами, указание прямых 
маршрутов отправителями сегодня на практике не используется.

После того, как клиент указал всех получателей письма, клиент должен 

передать   серверу   команду  DATA,   синтаксис   команды   очень   прост,   в   ней   не 
используются аргументы:

DATA<CR><LF>
После   передачи   команды  DATA  клиент   должен   начать   передавать   само 

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

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

сообщит   серверу,   что   письмо   окончено   и   может   быть   принято   для   передачи? 
Очевидно, что, так как длина письма заранее не указана, необходим какой-то 
флаг,   с   помощью   которого  SMTP  сервер   поймет,   что   письмо   закончено.   В 
качестве такого флага выбирается совокупность символов CR LF . CR LF (то есть 
перевод строки, точка, перевод строки). Подача этих пяти символов означает, 
что клиент закончил передавать письмо. Однако возникает другой вопрос – а 
что будет, если в ТЕЛЕ письма встретится данная совокупность байтов, ясно, что 


Copyright © 2022 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.