# Copyright (c) 2004-2006 Dmitry Stefankov # $Id: milter-agent.conf.sample,v 1.13 2008-09-23 09:35:28+04 dstef Exp root $ # Sample configuration file # # Main parameters of processing # Основные параметры # [General_Parameters] ### Verbose output [0|1] ### Verbose output level [0|1] ### Детализация выдачи #verbose = 0 #verbose_level = 0 ### Logging level, facility, error ### Параметры журнализации #system_log_name = "" #system_log_level = log_info #system_log_facility = log_mail #system_log_error = log_err ### Check config file changes during run ### Проверять изменения конфигурации при работе #check_config_changes = 0 ### Interface socket for command (/var/spool/milter-agent/cmd) ### Сокет для принятия команд #local_command_socket = "" ### Close all files on fork-exec ### Закрыть открытые файлы #close_all_files_on_exec = 0 ### Collect garbage mechanism ### Сборка мусора #collect_garbage=0 ### Stop processing on any error ### Останов при любой ошибке #stop_on_error=0 ### Lock access to config during processing (for multiple threads) ### Блокировать доступ конфигурации в момент обработки #lock_access_config=0 ### Enable regular expressions ### Разрешить регулярные выражения #enable_regex = 0 ### Check key file changes during run ### Проверять изменения файла лицензии во время работы #check_key_changes = 0 ### Output original messages info ### Вывести информация о файлах-сообщениях #output_file_info = 0 ### Enable to terminate a process on occurred timeout ### Разрешить "убить" процесс по истечении таймаута #enable_process_termination = 0 ### Enable to terminate a module on occurred timeout ### Разрешить "убить" модуль по истечении таймаута #enable_module_termination = 0 ### Errors threshold to disable to run agent/module ### Порог ошибок при запуске программы/модуля #errors_threshold_level = 0 ### Add CRLF to each line in message header ### Добавить CRLF к каждой строке в заголовке сообщения #add_header_crlf = 0 ### Enable to watch activity to detect serious problems ### Разрешить наблюдать за активностью для предупреждения проблемы останова #enable_live_watch = 0 ### Time period to live watch ### Период времени для проверки активности #live_watch_time_period = 3600 ### Enable to kill me and my life ### Разрешить завершить работу при предложении серьезной проблемы #enable_to_kill_yourself = 0 ### Enable add timestamp for add_ option in filters ### Добавлять временную метку в фильтрах для опции add_header_exit_codes #enable_headers_info_timestamp = 1 # end of section # # Address definition # Опредление адресного фильтра # #[Address] ### For Web interface ### Использовать для Webmin #global_name = "" #global_uid = "" ### Add header of message ### Добавить служебное поле в заголовок сообщения #add_header_name = "" #add_header_value = "" ### Change header of messages ### Изменить служебное поле в заголовок сообщения #change_header_name = "" #change_header_value = "" #change_header_index = 1 ### Add/remove recipient(s) of message ### Allowed many lines with ### Добавить/удалить получателя из списка #add_recipient = "" #add_recipient = "" #delete_recipient = "" ### Skip this message if recipient found in list ### НЕ обрабатывать, если получатель есть в списке #skip_recipient = "" ### Skip this if subject matched ### НЕ обрабатывать, если тема сообщения совпадает #skip_message_subject = "" ### Process this if subject matched ### Обрабатывать, если тема сообщения совпадает #match_message_subject = "" ### Rewrite host-part of address (addresses must be @host.domain) ### Переписать адрес если только есть часть хоста ### rewrite_address = 0 ### Process this if original recipient matched (from milter-connect) ### Обрабатывать, если первоначальный получатель есть в списке #match_x_original_recipient = "" ### Proccess if sender found in this list ### Обрабатывать, если отправитель есть в списке #message_sender = "" ### Proccess if recipient found in this list ### Обрабатывать, если получатель есть в списке #message_recipient = "" ### Forward to recipient(s) found in this list ### Allowed many lines with ### Переадресация к лицам в списке #message_forward_recipient = "" ### Act only after this date, format: DDMMYYYY ### Действие только после указаной даты #date_start = "" ### Act only before this date, format: DDMMYYYY ### Действие только до указаной даты #date_end = "" ### For your information ### Для информационных целей #date_comment = "" #[Address] #add_header_name = "" #add_header_value = "" #change_header_name = "" #change_header_value = "" #change_header_index = 1 ### Allowed many lines with #add_recipient = "" #delete_recipient = "" #skip_recipient = "" #skip_message_subject = "" #match_message_subject = "" #message_sender = "" #message_recipient = "" ### Allowed many lines with #message_forward_recipient = "" #date_start = "" #date_end = "" #date_comment = "" #[Address] #message_sender = "root" #message_recipient = "dstef@freehom3.home.ru" #add_recipient = "dstef@biomark.org.ru" #delete_recipient = "dstef@freehom3.home.ru" #delete_recipient = "dstef" #[Address] #message_recipient = "dstef@freehom3.home.ru" #message_forward_recipient = "dstef@biomark.org.ru root@home.ru" #message_forward_recipient = "dima root" #[Address] #message_recipient = "dstef@freehom3.home.ru" #message_forward_recipient = "holiday@freehom3.home.ru" #message_forward_account = "dstef" #[Address] #message_recipient = "dima@freehom3.home.ru" #match_message_subject = "Test message" #message_forward_recipient = "admin" #[Address] #message_recipient = ".*" #match_message_subject = "^\[X-Spam-Final: Rejected\]" #message_forward_recipient = "admin" # end of section # # Parameters that can be sent to task # Допустимые параметры для запуска задачи # # %f original message file (headers+body) # файл оригинального сообщения (заголовок+тело) # %r results file of processing by task (written by task) # текстовой файл результатов обработки (пишется задачей) # %n new body file (changed by task) # файл нового тела сообщения (создается задачей) # %h connect host (IP address) # узел-отправитель (IP адрес) # %m connect host (DNS name) # узел-отправитель (доменное имя) # %s sender (envelope address) # отправитель (адрес из конверта) # %t receiver (envelope address) # получатель (адрес из конверта) # %e message header size (in bytes) # длина заголовка сообщения (в байтах) # %b message body size (in bytes) # длина тела сообщения (в байтах) # # # Filter definition # Определение фильтра сообщений # #[Filter] ### For Web interface ### Использовать для Webmin #global_name = "" #global_uid = "" ### Task name for reference ### Имя задачи #task_name = test_task ### Internal module ### Внутренний загружаемый модуль #module_name = "this_module.so" #module_safe_use = 0 #exec_cmd = "xxx" ### External module (must be present!) ### Внешняя программа #exec_cmd = "yyy" ### Wait to finish a task (in seconds) ### Ждать завершения задачи (в секундах) #task_timeout = 60 ### Add header of message ### Добавить служебное поле в заголовок сообщения #add_header_name = "" #add_header_value = "" ### Change header of messages ### Изменить служебное поле в заголовок сообщения #change_header_name = "" #change_header_value = "" #change_header_index = 1 ### Add/remove recipient(s) of message ### Добавить/Удалить/Переадресовать #add_message_recipient = "" #delete_message_recipient = "" #forward_message_recipient = "" ### Skip this message if recipient found in list ### НЕ обрабатывать, если получатель есть в списке #skip_recipient = "" ### Skip this if subject matched ### НЕ обрабатывать, если тема сообщения совпадает #skip_message_subject = "" ### Process this if subject matched ### Обрабатывать, если тема сообщения совпадает #match_message_subject = "" ### Process this if original recipient matched (from milter-connect) ### Обрабатывать, если первоначальный получатель есть в списке #match_x_original_recipient = "" ### Exit codes for actions ### Список выходных кодов для действия #accept_exit_codes = "" #reject_exit_codes = "" #discard_exit_codes = "" #tempfail_exit_codes = "" #forward_exit_codes = "" #add_header_exit_codes = "" ### Messages to explain a reason ### Сообщеник о причине отказа или сбоя #reject_message = "" #tempfail_message = "" ### Write to maillog ### Записать в журнал sendmail #write_mail_log = 0 ### Run only N instances of task (0=unlimited) ### Одновременно только N экземпляров задачи (0=без ограничений) #run_single_instance = 0 ### Wait M seconds before to run task (0=unlimited) if more than N task instances ### Защита от перегрузки фильтра (0=без защиты) ### Ждать не более M секунд если превышен лимит для N экземпляров задачи #timed_single_instance = 0 ### Run if sender found in this list ### Обрабатывать, если отправитель есть в списке #run_message_sender = "" ### Run if recipient found in this list ### Обрабатывать, если получатель есть в списке #run_message_recipient = "" ### Act only after this date, format: DDMMYYYY ### Действие только после указаной даты #date_start = "" ### Act only before this date, format: DDMMYYYY ### Действие только до указаной даты #date_end = "" ### For your information ### Для информационных целей #date_comment = "" ### Time period (see crontab(5)) ### min hour day mon wday [wmon wyear] ### 0-59 0-23 1-31 1-12 0-6 1-5 1-52 ### Months also: Jan - Dec ### Week of days: Sun - Sat (0 is equal 7) ### Week of month: order number week in month ### Week of year: order number week in year ### If - as first symbol then skip this field ### * * - - * */2 * Works only for even weeks per month ### If ! as first symbol then reverse this field (only for ranges) ### */2 - even, !*/2 - odd #time_period = "* * * * *" #time_period = "* * * * * * *" # # Filters section # #[Filter] #task_name = mail_archive_task #exec_cmd = "/usr/local/src/projects/milter-agent/mail_archive.sh %f /usr/local/tmp/mail_archive" #[Filter] #task_name = stat_archive_task #task_timeout = 0 #exec_cmd = "/usr/local/src/projects/tpmail/milter-agent/stat_archive.sh /usr/local/tmp/stat_archive stat.info %f %h %m '%s' '%t'" #[Filter] #task_name = test_html_mail_task #task_timeout = 0 #reject_exit_codes = "1" #reject_message = "HTML mail or attachments not accepted." #run_message_sender = "dima" #run_message_recipient = "dstef" #exec_cmd = "/usr/local/src/projects/milter-agent/test_html_mail.sh %f" #[Filter] #task_name = virus_cure_kav #run_single_instance = 1 #exec_cmd = "/usr/local/src/projects/milter-agent/kav50_cure_uue.sh %f %n" #[Filter] #task_name = virus_check_kav #run_single_instance = 1 #timed_single_instance = 60 #exec_cmd = "/usr/local/src/projects/milter-agent/kavscanner.sh %f /usr/local/src/projects/milter-agent/kavscanner.conf /usr/local/tmp/kav_archive %r %h" #[Filter] #task_name = virus_check_clamav #run_single_instance = 1 #exec_cmd = "/usr/local/src/projects/milter-agent/clamavscanner.sh %f /usr/local/share/clamav /usr/local/tmp/clamav_archive %r %h" #[Filter] #task_name = virus_check_drweb #run_single_instance = 1 #exec_cmd = "/usr/local/src/projects/milter-agent/drwebscanner.sh %f /usr/local/src/projects/milter-agent/drweb32.ini /usr/local/tmp/drweb_archive %r %h" #[Filter] task_name = virus_check #reject_exit_codes = "1" #run_single_instance = 1 #skip_recipient = "root" #skip_message_subject = "ALERT! Virus Scanner Problem!" #exec_cmd = "/usr/local/src/projects/milter-agent/virus_scanner.sh /usr/local/tmp/avir_archive %f %r %n %h" #[Filter] #task_name = module_sample_task #module_name = "/usr/local/src/projects/rockmail/milter-agent/module_sample.so" #exec_cmd = "%f" #[Filter] #task_name = test_rhta_mail_task #module_name = "/usr/local/src/projects/rockmail/milter-agent/module_test_rhta_mail.so" #exec_cmd = "%f" #[Filter] #task = collect_spam_mail_task #forward_exit_codes="10" #forward_message_recipient="admin@freehom3.home.ru" #exec_cmd = "/usr/local/src/projects/tpmail/milter-agent/test_spam_headers.sh %f" #[Filter] #task = collect_virus_mail_task #run_single_instance = 1 #forward_exit_codes="1" #forward_message_recipient="virus@freehom3.home.ru" #exec_cmd = "/usr/local/src/projects/milter-agent/virus_scanner.sh /usr/local/tmp/avir_archive %f %r %n %h" #[Filter] #task = collect_kav_virus_mail_task #run_single_instance = 1 #skip_recipient = "postmaster" #forward_exit_codes="25" #forward_message_recipient="kav_virus@freehom3.home.ru" #exec_cmd = "/usr/local/antiviruses/kav/5.0/kavscanner50.sh %f /usr/local/antiviruses/kav/5.0/kavscanner.conf /usr/local/tmp/kav50_archive %r %h '%s' '%t'" #[Filter] #task_name = mail_archive_task #exec_cmd = "/usr/local/sbin/mail_archive.sh %f /usr/local/tmp/mail_archive" #module_name = "/usr/local/libexec/module_mail_archive.so" #exec_cmd = "%f /usr/local/tmp/mail_archive" #[Filter] #task_name = stat_archive_task #task_timeout = 0 #exec_cmd = "/usr/local/src/projects/tpmail/milter-agent/stat_archive.sh /usr/local/tmp/stat_archive stat.info %f %h %m '%s' '%t'" #[Filter] #task_name = test_rhta_mail_task #task_timeout = 0 #reject_exit_codes = "1" #reject_message = "Not accepted by administrative policy A01" ##exec_cmd = "/usr/local/sbin/test_rhta_mail.sh %f" #module_name = "/usr/local/libexec/module_test_rhta_mail.so" #exec_cmd = "%f" #[Filter] #task_name = test_html_mail_task #task_timeout = 0 #reject_exit_codes = "1" #reject_message = "HTML mail or attachments not accepted" #run_message_recipient = "dmstef22@(biomark\.org|dstef\.pp)\.ru" #exec_cmd = "/usr/local/sbin/test_html_mail.sh %f" #module_name = "/usr/local/libexec/module_test_html_mail.so" #exec_cmd = "%f" #[Filter] #task_name = virus_check_kav_50 #reject_exit_codes = "25" #skip_recipient = "postmaster" #run_single_instance = 1 #timed_single_instance = 120 #reject_message = "KAV 5.0 found virus. This message rejected." #exec_cmd = "/usr/local/antiviruses/kav/5.0/kavscanner50.sh %f /usr/local/antiviruses/kav/5.0/kavscanner.conf /usr/local/tmp/kav50_archive %r %h '%s' '%t'" #[Filter] #task_name = virus_check_drweb #reject_exit_codes = "9" #skip_recipient = "postmaster" #run_single_instance = 1 #reject_message = "DrWeb 4.32 found virus. This message rejected." #exec_cmd = "/usr/local/antiviruses/drweb/4.32/drwebscanner.sh %f /usr/local/antiviruses/drweb/4.32/drweb32.ini /usr/local/tmp/drweb_archive %r %h '%s' '%t'" # end of section # # Addresses section # #[Address] #address_name = test_me_01 #message_recipient = "testmail@home.ru" #message_forward_recipient = "testmail@porter.home.ru" #message_forward_recipient = "dstef@good.ru" #message_forward_recipient = "dima root" #[Address] #add_header_name = "" #add_header_value = "" #change_header_name = "" #change_header_value = "" #change_header_index = 1 #add_recipient = "" #delete_recipient = "" #skip_recipient = "" #skip_message_subject = "" #match_message_subject = "" #message_sender = "" #message_recipient = "" #message_forward_recipient = "" #[Address] #message_sender = "root" #message_recipient = "dstef@freehom3.home.ru" #add_recipient = "dstef@biomark.org.ru" #delete_recipient = "dstef@freehom3.home.ru" #delete_recipient = "dstef" #[Address] #message_recipient = "dstef@freehom3.home.ru" #message_forward_recipient = "dstef@biomark.org.ru root@home.ru" #message_forward_recipient = "dima root" #[Address] #message_recipient = "dstef@freehom3.home.ru" #message_forward_recipient = "dima" #date_start = "14062005" #date_start = "31052005" #date_end = "15102005" #date_end = "15102004" #date_end = "01062005" #date_end = "11062005" #date_comment = "This is test" #[Address] #message_recipient = "dstef@freehom3.home.ru" #message_forward_recipient = "dima" #message_forward_recipient = "root" #[Address] #message_recipient = "dstef@freehom3.home.ru" #message_recipient = "dstef" #message_recipient = "dstef@" #message_recipient = "dstef@freehom3" message_recipient = "^dstef@" #message_recipient = "^