Перевод спецификации по MTA Exim
Спецификация MTA Exim
Philip Hazel. Copyright 2006 University of Cambridge Revision 4.62 27 April 2006 PH
Перевод выполнен Алексеем Паутовым в рамках некоммерческого проекта RussianLDP (http://www.rldp.ru/). Именно на этом сайте и надлежит искать новые версии, если таковые будут.
Содержание
- 1. Введение
- 1.1. Документация exim
- 1.2. FTP и WEB-сайты
- 1.3. Списки рассылки
- 1.4. Курсы exim
- 1.5. Сообщения об ошибках
- 1.6. Где найти дистрибутив exim
- 1.7. Список пожеланий
- 1.8. Материалы содействия
- 1.9. Ограничения
- 1.10. Рабочая (выполняемая) конфигурация
- 1.11. Интерфейс вызова
- 1.12. Терминология
- 2. Включенный код
- 3. Как еxim получает и доставляет почту
- 3.1. Полная философия
- 3.2. Управление политиками
- 3.3. Пользовательские фильтры
- 3.4. Идентификация сообщений
- 3.5. Получение почты
- 3.6. Обработка входящих сообщений
- 3.7. Жизнь сообщения
- 3.8. Обработка адреса для доставки
- 3.9. Обработка адреса для проверки
- 3.10. Работа отдельного роутера
- 3.11. Двойные адреса
- 3.12. Предварительные условия роутера
- 3.13. Доставка в деталях
- 3.14. Механизм повтора
- 3.15. Временные ошибки доставки
- 3.16. Постоянные ошибки доставки
- 3.17. Сбой доставки рикошета
- 4. Сборка и инсталляция Exim
- 4.1. Распаковка
- 4.2. Разнообразие архитектур и операционных систем
- 4.3. DBM-библиотеки
- 4.4. Предсборочная конфигурация
- 4.5. Поддержка iconv()
- 4.6. Включение TLS/SSL шифрования
- 4.7. Использование tcpwrappers
- 4.8. Включение поддержки IPv6
- 4.9. Процесс сборки
- 4.10. Выходные данные после make
- 4.11. Отмена опций при сборке Exim
- 4.12. OS-cпецифические заголовки
- 4.13. Отмена опций при сборке монитора
- 4.14. Установка двоичных файлов и скриптов Exim
- 4.15. Инсталляция документации
- 4.16. Определение каталога spool
- 4.17. Тестирование
- 4.18. Замещение другого MTA Exim
- 4.19. Обновление Exim
- 4.20. Остановка демона Exim на Solaris
- 5. Командная строка Exim
- 6. Конфигурационный файл exim во время выполнения
- 6.1. Использование иного конфигурационного файла
- 6.2. Формат конфигурационного файла
- 6.3. Включения файлов в конфигурационый файл
- 6.4. Макросы в конфигурационном файле
- 6.5. Макроподстановка
- 6.6. Переопределение макроса
- 6.7. Отмена значения макроса
- 6.8. Пример использования макроса
- 6.9. Условные пропуски в конфигурационном файле
- 6.10. Общий синтаксис опции
- 6.11. Булевы опции
- 6.12. Целочисленные значения
- 6.13. Целочисленные восьмеричные значения
- 6.14. Числовые значения с фиксированной точкой
- 6.15. Значения временных интервалов
- 6.16. Строковые значения
- 6.17. Раскрытие строк
- 6.18. Имена пользователей и групп
- 6.19. Построение списков
- 6.20. Пустые элементы в списках
- 6.21. Формат конфигурации драйвера
- 7. Конфигурационный файл по умолчанию
- 8. Регулярные выражения
- 9. Поиски в файлах и базах данных
- 9.1. Примеры различных синтаксисов поиска
- 9.2. Типы поиска
- 9.3. Одноключевые типы поиска
- 9.4. Типы поиска в стиле запроса
- 9.5. Временные ошибки в поисках
- 9.6. Значения по умолчанию в одноключевых поисках
- 9.7. Частичное совпадение в одноключевых поисках
- 9.8. Кэширование поиска
- 9.9. Цитирование (помещение в двойные кавычки) данных поиска
- 9.10. Дополнительные сведения о dnsdb
- 9.11. Псевдо-dnsdb типы записей
- 9.12. Множественные поиски dnsdb
- 9.13. Дополнительные сведения о LDAP
- 9.14. Формат запросов LDAP
- 9.15. Цитирование (использование двойных кавычек и спецсимволов) в LDAP
- 9.16. Соединения LDAP
- 9.17. Аутентификация LDAP и управляющая информация
- 9.18. Формат данных, возвращённых LDAP
- 9.19. Дополнительные сведения о NIS+
- 9.20. Поиски SQL
- 9.21. Дополнительные сведения о MySQL, PostgreSQL, Oracle и Interbase
- 9.22. Специальные возможности MySQL
- 9.23. Специальные возможности PostgreSQL
- 9.24. Дополнительные сведения о SQLite
- 10. Списки доменов, узлов, адресов
и локальных частей почтового адреса
- 10.1. Раскрытие списков
- 10.2. Отрицаемые элементы в списках
- 10.3. Имена файлов в списках
- 10.4. Файл lsearch не нелинейный список
- 10.5. Именованные списки
- 10.6. Сравнение именованных списков с макросами
- 10.7. Кэширование именованных списков
- 10.8. Списки доменов
- 10.9. Списки хостов
- 10.10. Специальные шаблоны списка хостов
- 10.11. Шаблоны списка хостов, совпадающие с IP-адресом
- 10.12. Шаблоны списка хостов для одноключевого поиска по имени хоста
- 10.13. Шаблоны списка хостов, совпадающие по имени хоста
- 10.14. Поведение, когда IP-адрес не может быть найден
- 10.15. Список шаблонов хостов для одноключевого поиска по имени хоста
- 10.16. Список шаблонов хостов для поиска в стиле запросов
- 10.17. Смешивание безразличных имён хостов и адресов в списках хостов
- 10.18. Списки адресов
- 10.19. Регистр букв в списках адресов
- 10.20. Списки локальных частей
- 11. Раскрытие строк
- 11.1. Дословный текст в раскрываемых строках
- 11.2. Последовательности с обратным слэшем в расширенных строках
- 11.3. Тестирование раскрываемых строк
- 11.4. Принудительный отказ от раскрытия строки
- 11.5. Элементы раскрытия
- 11.6. Операторы раскрытия
- 11.7. Условия раскрытия
- 11.8. Комбинирование условий раскрытия
- 11.9. Переменные раскрытия
- 12. Встроенный perl
- 13. Запуск демона и использование сетевых интерфейсов
- 13.1. Запуск слушающего демона
- 13.2. Специальный IP слушающий адреса
- 13.3. Отмена local_interfaces и daemon_smtp_ports
- 13.4. Поддержка устаревшего протокола SSMTP (или SMTPS)
- 13.5. Области адресов IPv6
- 13.6. Отключение IPv6
- 13.7. Примеры запуска слушающего демона
- 13.8. Распознание локального хоста
- 13.9. Доставка к удалённому хосту
- 14. Главная конфигурация
- 14.1. Разное
- 14.2. Параметры exim
- 14.3. Настройки привелегий
- 14.4. Протоколирование
- 14.5. Замороженные сообщения
- 14.6. Поиск данных
- 14.7. Идентификаторы сообщений
- 14.8. Запуск встроенного perl
- 14.9. Демон
- 14.10. Контроль ресурсов
- 14.11. Управление политиками
- 14.12. Кэш обратных вызовов
- 14.13. TLS
- 14.14. Локальная обработка пользователей
- 14.15. Все входящие сообщения (SMTP и не-SMTP)
- 14.16. Входящие не-SMTP сообщения
- 14.17. Входящие не-SMTP сообщения
- 14.18. Расширения SMTP
- 14.19. Обработка сообщений
- 14.20. Системный фильтр
- 14.21. Роутинг и доставка
- 14.22. Рикошеты и предупрждающие сообщения
- 14.23. Алфавитный список главных опций
- 15. Общие опции для роутеров
- 16. Роутер ACCEPT
- 17. Роутер dnslookup
- 18. Роутер ipliteral
- 19. Роутер iplookup
- 20. Роутер manualroute
- 21. Роутер queryprogram
- 22. Роутер redirect
- 22.1. Данные для перенаправления
- 22.2. Файлы пересылки (forward files) и проверка адреса
- 22.3. Обработка данных перенаправления
- 22.4. Элементы списка перенаправления
- 22.5. Перенаправление в локальный почтовый ящик
- 22.6. Специальные конструкции в списках перенаправления
- 22.7. Дублирование адресов
- 22.8. Повторяющееся преобразование перенаправления
- 22.9. Ошибки в списках перенаправления
- 22.10. Частные опции роутера redirect
- 23. Среда для работы локальных транспортов
- 23.1. Одновременные доставки
- 23.2. Uid и gid
- 23.3. Текущий и домашний каталоги
- 23.4. Переменные раскрытия произведённые из адреса
- 24. Общие опции для транспортов
- 25. Группировка адресов в локальных транспортах
- 26. Транспорт appendfile
- 26.1. Опции file и directory
- 26.2. Частные опции для appendfile
- 26.3. Операционные детали для добавления
- 26.4. Операционные детали для доставки в новый файл
- 26.5. Доставка maildir
- 26.6. Использование тэгов для записи размера сообщений
- 26.7. Использование файла maildirsize
- 26.8. Доставка mailstore
- 26.9. Неспециальная доставка в новый файл
- 27. Транспорт autoreply
- 28. Транспорт lmtp
- 29. Транспорт pipe
- 30. Транспорт SMTP
- 31. Перезапись адресов
- 31.1. Явно сконфигурированная перезапись адресов
- 31.2. Когда происходит перезапись?
- 31.3. Тестирование правил перезаписи, применяемых на входе
- 31.4. Правила перезаписи
- 31.5. Шаблоны перезаписи
- 31.6. Перезапись замен
- 31.7. Флаги перезаписи
- 31.8. Флаги, определяющие какие заголовки и адрес конверта перезаписывать
- 31.9. Флаг перезаписи во время SMTP
- 31.10. Флаги контролирующие процесс перезаписи
- 31.11. Примеры перезаписи
- 32. Конфигурация повторов
- 32.1. Правила повторов
- 32.2. Выбор, какие правила используются для ошибок адреса
- 32.3. Выбор, какое правило используется для хоста и сообщения об ошибке
- 32.4. Правила повтора для специфических ошибок
- 32.5. Правила повторов для специфических отправителей
- 32.6. Параметры повтора
- 32.7. Примеры правил повтора
- 32.8. Таймаут для данных повторов
- 32.9. Долгосрочные ошибки
- 32.10. Доставки работающие с перерывами
- 33. SMTP-аутентификация
- 34. Аутентификатор plaintext
- 35. Аутентификатор cram_md5
- 36. Аутентификатор cyrus_sasl
- 37. Аутентификатор spa
- 38. Шифрование соединений с использованием TLS/SSL
- 38.1. Поддержка для наследственного ssmtp (или smtps) протокола
- 38.2. OpenSSL против GnuTLS
- 38.3. Вычисление параметра GnuTLS
- 38.4. Требование специфических шифров в OpenSSL
- 38.5. Специфические шифры, требующиеся в GnuTLS
- 38.6. Конфигурирование сервера exim для использования TLS
- 38.7. Запрос и проверка клиентских сертификатов
- 38.8. Отменённые сертификаты
- 38.9. Конфигурирование клиента exim для использования TLS
- 38.10. Несколько сообщений через одно шифрованное TCP/IP-соединение
- 38.11. Сертификаты и всё такое
- 38.12. Цепочки сертификатов
- 38.13. Самоподписанный сертификат
- 39. Списки контроля доступа
- 39.1. Тестирование ACL
- 39.2. Определение, когда используются ACL
- 39.3. Не-SMTP ACL
- 39.4. ACL подключения
- 39.5. ACL DATA
- 39.6. ACL MIME
- 39.7. ACL QUIT
- 39.8. Нахождение ACL для использования
- 39.9. Коды возврата ACL
- 39.10. Незаданные опции ACL
- 39.11. Данные для ACL сообщений
- 39.12. Данные для ACL не-сообщений
- 39.13. Формат ACL
- 39.14. Команды ACL
- 39.15. Переменные ACL
- 39.16. Обработка условий и модификаторов
- 39.17. Модификаторы ACL
- 39.18. Использование модификатора control
- 39.19. Добавление строк заголовков в ACL
- 39.20. Условия ACL
- 39.21. Использование списков DNS
- 39.22. Задание IP-адреса для поиска в списках DNS
- 39.23. DNS-списки, основанные на именах доменов
- 39.24. Поиски в DNS, основанные на нескольких ключах
- 39.25. Данные возвращаемые списками DNS
- 39.26. Переменные, устанавливаемые из списков DNS
- 39.27. Дополнительные совпадения условий для списков DNS
- 39.28. Отрицательные условия сравнения DNS
- 39.29. Списки DNS и IPv6
- 39.30. Ограничение нормы отправителей
- 39.31. Проверка адресов
- 39.32. Проверка обратным вызовом
- 39.33. Дополнительные параметры для обратных вызовов
- 39.34. Кэширование обратных вызовов
- 39.35. Отчёты проверки адресов отправителя
- 39.36. Перенаправление при проверке
- 39.37. Клиентская SMTP-авторизация (CSA)
- 39.38. Проверка тега адреса рикошета
- 39.39. Использование ACL для упавления релеингом
- 39.40. Проверка конфигурации релея
- 40. Контентное сканирование во время ACL
- 40.1. Сканирование на вирусы
- 40.2. Сканирование с SpamAssassin
- 40.3. Вызов SpamAssassin из ACL exim
- 40.4. Сканирование частей MIME
- 40.5. Сканирование с регулярными выражениями
- 40.6. Условие demime
- 41. Добавляем функцию local scan в Exim
- 42. Системная фильтрация сообщений
- 42.1. Установка системного фильтра
- 42.2. Тестирование системного фильтра
- 42.3. Содержимое системного фильтра
- 42.4. Дополнительные переменные для системных фильтров
- 42.5. Defer, freeze и fail: команды системного фильтра
- 42.6. Добавление и удаление заголовков в системном фильтре
- 42.7. Установка адреса ошибок в системном фильтре
- 42.8. Фильтрация по адресам
- 43. Обработка сообщения
- 43.1. Режим передачи для нелокальных сообщений
- 43.2. Завершения строк
- 43.3. Неквалифицированные адреса
- 43.4. Строка "From" UUCP
- 43.5. Строки заголовков Resent
- 43.6. Строка заголовка Auto-Submitted:
- 43.7. Строка заголовка Bcc:
- 43.8. Строка заголовка Date:
- 43.9. Строка заголовка Delivery-date:
- 43.10. Строка заголовка Envelope-to:
- 43.11. Строка заголовка From:
- 43.12. Строка заголовка Message-ID:
- 43.13. Строка заголовка Received:
- 43.14. Строка заголовка References:
- 43.15. Строка заголовка Return-path:
- 43.16. Строка заголовка Sender:
- 43.17. Добавление и удаление заголовков в роутерах и транспортах
- 43.18. Конструирование адресов
- 43.19. Регистры локальных частей
- 43.20. Точки в локальных частях
- 43.21. Перезапись адресов
- 44. Обработка SMTP
- 44.1. Исходящий SMTP и LMTP через TCP/IP
- 44.2. Ошибки в исходящем SMTP
- 44.3. Входящие SMTP сообщения через TCP/IP
- 44.4. Нераспознанные SMTP-команды
- 44.5. Синтаксис и ошибки протокола в командах SMTP
- 44.6. Использование непочтовых SMTP команд
- 44.7. Команды VRFY и EXPN
- 44.8. Команда ETRN
- 44.9. Входящий локальный SMTP
- 44.10. Исходящий пакетный SMTP
- 44.11. Входящий пакетный SMTP
- 45. Настройка рикошетов и предупреждающих сообщений
- 46. Некоторые общие конфигурационые опции
- 46.1. Отсылка почты на умный хост
- 46.2. Использование exim для обработки списков рассылки
- 46.3. Синтаксические ошибки в списках рассылки
- 46.4. Повторное раскрытие списков рассылки
- 46.5. Закрытые списки рассылки
- 46.6. Переменные пути возврата конверта (VERP)
- 46.7. Виртуальные домены
- 46.8. Многочисленные пользовательские почтовые ящики
- 46.9. Упрощённая обработка отпуска (vacation)
- 46.10. Отбор копий сообщений
- 46.11. Периодически подключенные хосты
- 46.12. Exim на вышестоящих серверных хостах
- 46.13. Exim на периодически подключаемом клиентском хосте
- 47. Использование exim как клиента без очереди сообщений
- 48. Файлы протоколов
- 48.1. Где пишутся протоколы
- 48.2. Протоколирование в локальные файлы, которые периодически ротируются
- 48.3. Штамп даты на файлах протоколов
- 48.4. Протоколирование в syslog
- 48.5. Флаги строк протоколов
- 48.6. Протоколирование приёма сообщений
- 48.7. Протоколирование доставок
- 48.8. Доставки, от которых отказались
- 48.9. Отсроченные доставки
- 48.10. Ошибки доставки
- 48.11. Поддельные доставки
- 48.12. Завершение
- 48.13. Краткое изложение полей в строках протоколов
- 48.14. Другие записи протоколов
- 48.15. Сокращение или увеличение того, что протоколируется
- 48.16. Протокол сообщения
- 49. Утилиты exim
- 49.1. Поиск, что делают процессы exim (exiwhat)
- 49.2. Селективный просмотр очереди (exiqgrep)
- 49.3. Подведение итогов очереди (exiqsumm)
- 49.4. Извлечение специфической информации из протокола (exigrep)
- 49.5. Отбор сообщений по различным критериям (exipick)
- 49.6. Ротация файлов протоколов (exicyclog)
- 49.7. Почтовая статистика (eximstats)
- 49.8. Проверка политики доступа (exim_checkaccess)
- 49.9. Создание файлов DBM (exim_dbmbuild)
- 49.10. Нахождение индивидуальных времён повторов (exinext)
- 49.11. Обслуживание БД подсказок
- 49.12. exim_dumpdb
- 49.13. exim_tidydb
- 49.14. exim_fixdb
- 49.15. Обслуживание почтового ящика (exim_lock)
- 50. Монитор exim
- 50.1. Запуск монитора
- 50.2. Графики
- 50.3. Кнопки главного действия
- 50.4. Показ протоколов
- 50.5. Отображение очереди
- 50.6. Меню очереди
- 51. Обсуждение безопасности
- 51.1. Сборка более защищённого exim
- 51.2. root-привилегии
- 51.3. Работа exim без привилегий
- 51.4. Доставка в локальные файлы
- 51.5. Источник роутинга IPv4
- 51.6. Команды VRFY, EXPN, и ETRN в SMTP
- 51.7. Привелигированные пользователи
- 51.8. Файлы спула
- 51.9. Использование argv[0]
- 51.10. Использование форматирования %f
- 51.11. Встроенные пути exim
- 51.12. Использование sprintf()
- 51.13. Использование debug_printf() и log_write()
- 51.14. Использование debug_printf() и log_write()
- 52. Формат файлов спула
- 52.1. Формат файла -H
- 53. Добавление новых драйверов или типов поисков
- 54.1. Форвардинг и фильтрация в exim
- 54.1.1. Введение
- 54.1.2. Работа фильтра
- 54.1.3. Тестирование нового файла фильтра
- 54.1.4. Инсталляция файла фильтра
- 54.1.5. Тестирование проинсталлированного файла фильтра
- 54.1.6. Детали фильтрующих команд
- 54.2. Файлы фильтра sieve
- 54.2.1. Распознание фильтров sieve
- 54.2.2. Сохранение в заданные каталоги
- 54.2.3. Строки содержащие имена заголовков
- 54.2.4. Тест exists с пустыми списками заголовков
- 54.2.5. Тесты заголовков с неверной кодировкой MIME в заголовке
- 54.2.6. Тестирование адреса для нескольких адресов на заголовок
- 54.2.7. Семантика keep
- 54.2.8. Семантика fileinto
- 54.2.9. Семантика redirect
- 54.2.10. Строковые аргументы
- 54.2.11. Множественные единицы
- 54.2.12. Соответствие RFC
- 54.3. Файлы фильтра exim
- 54.3.1. Формат файлов фильтра exim
- 54.3.2. Значения данных в командах фильтра
- 54.3.3. Раскрытие строки
- 54.3.4. Некоторые полезные общие переменные
- 54.3.5. Переменные заголовков
- 54.3.6. Пользовательские перемeнные
- 54.3.7. Текущий каталог
- 54.3.8. Важные доставки
- 54.3.9. Команды фильтра
- 54.3.10. Команда add
- 54.3.11. Команда deliver
- 54.3.12. Команда save
- 54.3.13. Команда pipe
- 54.3.14. Почтовые команды
- 54.3.15. Команды протоколирования
- 54.3.16. Команда finish
- 54.3.17. Команда testprint
- 54.3.18. Команда fail
- 54.3.19. Команда freeze
- 54.3.20. Команда headers
- 54.3.21. Удовлетворение условий команд
- 54.3.22. Условия тестирования строк
- 54.3.23. Тестирование числовых условий
- 54.3.24. Тестирование важных доставок
- 54.3.25. Тестирование на сообщения о ошибке
- 54.3.26. Тестирование списка адресов
- 54.3.27. Тестирование на персональность почты
- 54.3.28. Адреса алиасов для персональных условий
- 54.3.29. Детали персональных условий
- 54.3.30. Тестирование статуса доставки
- 54.3.31. Пользовательские мультипочтовые ящики
- 54.3.32. Игнорирование ошибок доставки
- 54.3.33. Примеры команд фильтра exim
- 54.1. Форвардинг и фильтрация в exim