Термины «конверт» (envelope), «заголовок» (header), «тело» (body) и «вложение» (attachment) относятся к различным частям данных, которыми обмениваются агенты передачи сообщений (MTA). Если вы знаете, что они означают, то вам будет понятно, на какие части сообщений действуют параметры управления содержимым Postfix. Так же удобно, что имена и синтаксис параметров берут начало в документах RFC.
Эта глава представляет собой «букварь» по управлению содержимым сообщений. Прочтите ее внимательно и уделите достаточно времени знакомству с концепциями. После освоения основ вы без проблем добьетесь эффективного управления содержимым.
Основы передачи сообщений
Понятие передачи сообщений имеет два аспекта: SMTP соединение, которое обеспечивает передачу, и передаваемые данные (которые обычно называют «электронным письмом» или «сообщением»). Термины, используемые для описания передачи сообщений, не были придуманы на пустом месте; они были позаимствованы у старинной, но хорошо известной и устоявшейся системы, которую люди прошлых столетий называли «почтой».
Когда речь идет об обычной почте, значение терминов «доставщик», «конверт», «заголовок», «тело» и «вложение» хорошо известно. По отношению к электронной почте эти слова являются техническими терминами.
Доставщик В обычной почте доставщик – это почтальон или почтовый курьер. В электронной почте доставщик – это клиент.
Конверт В электронном письме, как и в обычном, конверт служит упаковкой, которая объясняет, как должно быть доставлено содержимое. На конверте указаны отправитель конверта и получатель конверта.
Заголовок Заголовок предоставляет вам метаданные о сообщении. Как и в обычном письме, это информация об отправителе (заголовок From:), получателе (To:), дате и времени отправки (Date:) и теме сообщения (Subject:). Кроме того, заголовки Received: электронного сообщения сообщают вам о пути, проделанном сообщением, и времени, в течение которого оно передавалось.
Тело В теле электронного сообщения находится собственно его содержимое, совсем как в обычном письме.
Вложения Если электронное сообщение содержит вложения, этот факт будет отмечен в теле письма, как это было бы сделано и в обычном письме. Вложения не являются обязательными и могут иметь разнообразные форматы.
Зачем вам это знать? Все вышесказанное может показаться далекой от жизни теорией – причем тут работа с Postfix? Во первых, в электронном сообщении обычно больше информации, чем в обычном письме. Вам необходимо знать, что это за дополнительные элементы и в какой части сообщения они появляются. К тому же Postfix имеет три отдельных группы параметров управления содержимым, которые непосредственно связаны с различными частями сообщения: smtpd_*_restrictions Параметры smtpd_*_restrictions управляют клиентским соединением и конвертом в процессе передачи сообщений.
*_checks Параметры *_checks контролируют заголовок, тело и вложения.
Фильтры Postfix использует фильтры для передачи задач другим (внешним) отбраковывающим приложениям. Фильтры универсальны – они могут контролировать любую частью сообщения, от конверта до вложения.
Каждый из этих параметров имеет большое количество возможных значений; если вы не будете знать, на какую часть сообщения действует каждый из параметров, то ваш контроль содержимого не будет работать.