Home

Page 32
Page 32
background image

Field  name  должно   состоять   только   из   отображаемых   символов   кодовой 

таблицы US-ASCII, Field body может содержать любые символы кодовой таблицы 
US-ASCII.   Таких   строк   в   заголовке   может   быть   сколько   угодно,   флагом, 
показывающим   окончание   заголовка   письма,   служит   пустая   строка,   т.е. 
совокупность символов <CR><LF>. Сразу продемонстрируем  пример  письма  с 
заголовками:

Field name: field body<CR><LF>
Field name: field body<CR><LF>
………….
Field name: field body<CR><LF>
<CR><LF>
Произвольное тело письма

В   заголовке   письма   могут   применяться   различные   поля,   описанные   в 

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

Рассмотрим формат представления даты и формат представления адресов 

в RFC2822. Начинаем с формата представления даты. 

date-time       =       [ day-of-week "," ] date FWS time [CFWS]

day-of-week     =       ([FWS] day-name) / obs-day-of-week
day-name        =       "Mon" / "Tue" / "Wed" / "Thu" /

                        "Fri" / "Sat" / "Sun"
date            =       day month year

year            =       4*DIGIT / obs-year
month           =       (FWS month-name FWS) / obs-month

month-name      =       "Jan" / "Feb" / "Mar" / "Apr" /
                        "May" / "Jun" / "Jul" / "Aug" /

                        "Sep" / "Oct" / "Nov" / "Dec"
day             =       ([FWS] 1*2DIGIT) / obs-day

time            =       time-of-day FWS zone
time-of-day     =       hour ":" minute [ ":" second ]

hour            =       2DIGIT / obs-hour
minute          =       2DIGIT / obs-minute

second          =       2DIGIT / obs-second
zone            =       (( "+" / "-" ) 4DIGIT) / obs-zone

Поясняем данную форму записи: совокупность даты и времени (date-time) 

записываются   строкой,   содержащей   в   себе:   опционально   день   недели, 
отделенный от последующего запятой (day-of-week), дату (date) и время (time). 
День   недели   (day-of-week)   выбирается   из   фиксированного   набора:  Mon,  Tue, 
Wed,  Thu,  Fri,  Sat,  Sun.   Дата   (date)   состоит   из   трех   разделенных   пробелами 
значений:   день   (day),   месяц   (month)   и   год   (year).   Год   (year)   записывается 
четырьмя цифрами, месяц записывается  как некое имя месяца (month-name), 
выбираемое из фиксированного набора:  Jan,  Feb,  Mar,  Apr,  May,  Jun,  Jul,  Aug, 
Sep, Oct, Nov, Dec, день записывается одной или двумя цифрами. Время (time) 
записывается   двумя   частями:   время   дня   (time-of-day)   и   часовой   пояс   (zone). 
Время   дня   (time-of-day)   записывается   как   часы   (hour),   минуты   (minute)   и 


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

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