3.6. Определения полей
В этом параграфе определены поля заголовка сообщения. Все поля заголовка имеют одинаковую синтаксическую структуру: имя поля, за которым следует двоеточие (:) и тело (значение) поля. Конкретный синтаксис каждого поля заголовка определен в соответствующем подпараграфе.
Важно подчеркнуть, что порядок следования полей заголовка не гарантируется. Поля заголовков могут появляться в произвольном порядке. Более того, известно, что порядок полей заголовков может изменяться при передаче сообщений через Internet. Однако в соответствиии с данной спецификацией порядок полей заголовка не следует менять при передаче или преобразовании сообщений. Более важно отметить, что порядок трассировочных полей и полей resent изменять недопустимо и следует сохранять эти поля в блоках, добавляемых в начало сообщения (prepend). Дополнительная информация об этих полях содержится в параграфах 3.6.6 и 3.6.7.
Обязательными полями заголовка являются только поле даты и поле адреса отправителя сообщения. Все остальные поля являются синтаксически опциональными. Дополнительная информация приведена в таблице вслед за определением.
fields = *(trace
*optional-field /
*(resent-date /
resent-from /
resent-sender /
resent-to /
resent-cc /
resent-bcc /
resent-msg-id))
*(orig-date /
from /
sender /
reply-to /
to /
cc /
bcc /
message-id /
in-reply-to /
references /
subject /
comments /
keywords /
optional-field)
Приведенная ниже таблица показывает минимальное и максимальное число полей каждого типа в разделе заголовков сообщения, а также ограничения на использование полей. Звездочка (*) после в колонке минимального или максимального числа полей говорит о наличии дополнительных ограничений, указанных в колонке «Примечания».
| Поле | Минимум | Максимум | Примечания |
| trace | 0 | Не ограничен | Блок добавляется в начало, см. параграф 3.6.7 |
| resent-date | 0* | Не ограничен* | Одно на блок; требуется при наличии других полей resent, см. параграф 3.6.6 |
| resent-from | 0 | Не ограничен* | Одно на блок, см. параграф 3.6.6 |
| resent-sender | 0* | Не ограничен* | Одно на блок; должно присутствовать при наличии множества адресов, см. параграф 3.6.6 |
| resent-to | 0 | Не ограничен* | Одно на блок, см. параграф 3.6.6 |
| resent-cc | 0 | Не ограничен* | Одно на блок, см. параграф 3.6.6 |
| resent-bcc | 0 | Не ограничен* | Одно на блок, см. параграф 3.6.6 |
| resent-msg-id | 0 | Не ограничен* | Одно на блок, см. параграф 3.6.6 |
| orig-date | 1 | 1 | |
| from | 1 | 1 | См. sender и параграф 3.6.2 |
| sender | 0* | 1 | Должно присутствовать при наличии множества адресов, см. параграф 3.6.2 |
| reply-to | 0 | 1 | |
| to | 0 | 1 | |
| cc | 0 | 1 | |
| bcc | 0 | 1 | |
| message-id | 0* | 1 | Следует включать, см. параграф 3.6.4 |
| in-reply-to | 0* | 1 | Следует включать, см. параграф 3.6.4 |
| references | 0* | 1 | Следует включать, см. параграф 3.6.4 |
| subject | 0 | 1 | |
| comments | 0 | Не ограничен | |
| keywords | 0 | Не ограничен | |
| optional-field | 0 | Не ограничен |
Точная интерпретация каждого поля рассмотрена в последующих параграфах.