Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» FAQ по Exim MTA

Автор: DarkHost
Дата сообщения: 30.11.2006 11:55
densolo
Отличная ссылка, огромное спасибо! На opennet.ru запость ее еще, пожалуйста.
Автор: ekomaster22
Дата сообщения: 01.12.2006 01:17

Цитата:
Если у тебя письма с левых хостов проходят через сервер, значит у тебя открытый relay. Что там у тебя в relay_from_hosts?


вот это?

# to restrict port 587 to authenticated users only
# see also daemon_smtp_ports above
accept hosts = +auth_relay_hosts
condition = ${if eq {$interface_port}{587} {yes}{no}}
endpass
message = relay not permitted, authentication required
authenticated = *

# accept if address is in a local domain as long as recipient can be verified
accept domains = +local_domains
endpass
message = "Unknown User"
verify = recipient

# accept if address is in a domain for which we relay as long as recipient
# can be verified
accept domains = +relay_domains
endpass
verify=recipient

# accept if message comes for a host for which we are an outgoing relay
# recipient verification is omitted because many MUA clients don't cope
# well with SMTP error responses. If you are actually relaying from MTAs
# then you should probably add recipient verify here

accept hosts = +relay_hosts
accept hosts = +auth_relay_hosts
endpass
message = authentication required
authenticated = *
deny message = relay not permitted

# default at end of acl causes a "deny", but line below will give
# an explicit error message:
deny message = relay not permitted


конкретно relay_from_hosts - нету.

Автор: G_R
Дата сообщения: 01.12.2006 13:52
всем привет!

ПОМОГИТЕ! никак не могу справиться с проблемой. в логах следующее:
2006-11-23 11:55:05 auth_cram_md5 authenticator failed for f404 ([127.0.0.1]) [192.168.140.4]:2123 I=[192.168.140.7]:25: 535 Incorrect authentication data (set_id=gas)
2006-11-23 11:55:05 auth_plain authenticator failed for f404 ([127.0.0.1]) [192.168.140.4]:2123 I=[192.168.140.7]:25: 535 Incorrect authentication data (set_id=gas)
2006-11-23 11:55:05 auth_login authenticator failed for f404 ([127.0.0.1]) [192.168.140.4]:2123 I=[192.168.140.7]:25: 535 Incorrect authentication data (set_id=gas)
2006-11-23 11:55:08 SMTP connection from f404 ([127.0.0.1]) [192.168.140.4]:2123 I=[192.168.140.7]:25 closed by QUIT


вот выдержка конфига для аутентификации:

begin authenticators

auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT login FROM users \
WHERE login = '${quote_mysql:${local_part:$2}}' \
AND domain = '${quote_mysql:${domain:$2}}' \
AND decrypt = '${quote_mysql:$3}' \
AND status = '1'}{yes}{no}}
server_prompts = :
server_set_id = $2

auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT login FROM users \
WHERE login = '${quote_mysql:${local_part:$1}}' \
AND domain = '${quote_mysql:${domain:$1}}' \
AND decrypt = '${quote_mysql:$2}' \
AND status = '1'}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $1

auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT decrypt FROM users \
WHERE login = '${quote_mysql:${local_part:$1}}' \
AND domain = '${quote_mysql:${domain:$1}}' \
AND status = '1'}{$value}fail}
server_set_id = $1


где чего копать? ну хоть намекните?
Автор: G_R
Дата сообщения: 06.12.2006 16:52
так ни кто не поможет???!!!
Автор: G_R
Дата сообщения: 07.12.2006 16:20
и вот снова я

проблемка лечится, если заремить в секции auth_cram_md5 строку:

AND domain = '${quote_mysql:${domain:$1}}'

а вот что сделать , чтоб работало с этой строкой я так и не нашел
хотя излазил весь фак. были же похожие проблемы у народа. кто поборол - ответьте!!!

Автор: Yakon
Дата сообщения: 11.12.2006 06:38
Здравствуйте.
А как сделать, чтобы письма, помещенные как ***SPAM*** переносились в отдельные ящики, специально созданные для каждого домена?
Автор: DarkHost
Дата сообщения: 11.12.2006 09:08
Yakon
Создаешь роутер, чтобы проверять величину $spam_score_int, а потом передаешь управление специальному транспорту.
Автор: Yakon
Дата сообщения: 11.12.2006 10:09
DarkHost
А пример конфига можно?
Чтоб транспорт раскладывал спам в разные ящики в зависимости от домена.
И чтоб можно было для некоторых доменов отключить такое.
Автор: DarkHost
Дата сообщения: 11.12.2006 10:24
Возьмите свой существующий роутер доставки, слегка переделайте его и переименуйте.
Автор: Yakon
Дата сообщения: 11.12.2006 10:52
Если б мог, не спрашивал бы.
Куски конфига:

manualroute:
driver = manualroute
transport = special_smtp
route_list = mydomain1.ru 1.2.3.4

dovecot_user:
driver = accept
condition = ${lookup mysql{SELECT `goto` FROM \
`alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery

special_smtp:
driver = smtp
port = 9025
command_timeout = 30s

dovecot_delivery:
driver = appendfile
# driver = pipe
# command = /usr/local/libexec/dovecot/deviler -d $local_part@$domain
group = mail
check_string = ""
message_prefix = ""
message_suffix = ""
create_directory
delivery_date_add
directory_mode = 770
envelope_to_add
directory = /var/mail/exim/${lookup mysql{SELECT \
`maildir` FROM `mailbox` WHERE `username` \
= '${quote_mysql:$local_part@$domain}'}}new/

Мне нужно, что бы в dovecot для ящика mydomain2.ru письма с $spam_score_int > 40 падали в spam@mydomain2.ru, а письма со спамам домена mydomain3.ru приходили адресатам.
Автор: fd254
Дата сообщения: 11.12.2006 16:32
YakonНу роутер, скорее всего будет такой.

Код:
spamd_router:
no_verify
driver = accept
user = Debian-exim
group = mail
condition = ${if and{{def:spam_score_int}{>{$spam_score_int}{40}}}{yes}{no}}
transport = spamd_delivery
cannot_route_message = Unknown user
Автор: DarkHost
Дата сообщения: 11.12.2006 17:58
Скорее вот так:

spamd_router:
driver = accept
condition = ${if >{$spam_score_int}{60}{1}{0}}
transport = spamd_delyvery


spamd_delivery:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = /home/$domain/$local_part/Spam
directory_mode = 770
envelope_to_add
user = exim
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0640

Дело в том, что, если ты укажешь no_verify, то тебе столько папок наделается, что ты прозреешь. Прочитай сначала, для чего оно нужно.
Автор: Yakon
Дата сообщения: 11.12.2006 20:07
Спасибо за советы.
В итоге получилось следущее:
В таблицу spamd в mysql заношу домены, в которых такое перенаправление необходимо.

роутер
dovecot_user_spamd:
driver = accept
condition = ${if and{{and{{def:spam_score_int}{>{$spam_score_int}{40}}}}\
{eq{}{${lookup mysql{SELECT `domain` FROM `spamd` \
WHERE `domain`='${quote_mysql:@$domain}'}}}}}{yes}{no}}
transport = dovecot_delivery_spamd

транспорт
dovecot_delivery_spamd:
driver = appendfile
group = mail
check_string = ""
message_prefix = ""
message_suffix = ""
create_directory
delivery_date_add
directory_mode = 770
envelope_to_add
directory = /var/mail/exim/${lookup mysql{SELECT \
`maildir` FROM `spamd` WHERE `domain` \
= '${quote_mysql:$domain}'}}new/

Добавлено:
Ошибся.
Правило
eq{}{${lookup mysql{SELECT `domain` FROM `spamd` \
WHERE `domain`='${quote_mysql:@$domain}'}}}}
срабатывает всегда.
В чём ошибка?
Автор: darkomen
Дата сообщения: 12.12.2006 09:35
warn message = X-Spam-Score: $spam_score ($spam_bar)
condition = ${if <{$message_size}{50k}{1}{0}}
hosts = ! 127.0.0.1 : ! 192.168.5.0/24
spam = mail:true

А вот почему проверяет всеравно большое входящее письмо , не смотря на ограничение 50к ? Я смотрю в топе при получении ввходящего письма асасин начинает напрягаться, хоте не должен ведь по идее?
Автор: DarkHost
Дата сообщения: 12.12.2006 09:39
Почему ты не думаешь, что делаешь? Ты в кондишне роутера должен проверять не существование домена, а существование пользователя. Прикинь, что произойдет, если я тебе пришлю 10000000 писем с адресами aaaa@domain,aaab@domain,...,xxxx@domain. У тебя роутер ровно столько раз отработает и насоздает 10000000 папок. Поэтому в роутере проверяй наличие пользователя. Вот абсолютно рабочий роутер с транспортом, он работает у меня:


spamd_router:
driver = accept
condition = ${if and{{!eq{} {${lookup mysql{SELECT home FROM users WHERE id='${local_part}' AND mbox_host='${domain}' AND active='Y'}}}}{and{{def:spam_score_int}{>{$spam_score_int}{60}}}}}{1}{0}}
transport = spamd_delivery

spamd_delivery:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = ${lookup mysql{SELECT CONCAT(home, "/Spam") FROM users WHERE id='${local_part}' AND mbox_host='${domain}'}}
directory_mode = 770
envelope_to_add
user = exim
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0640
quota = ${lookup mysql{SELECT quota FROM users WHERE id='${local_part}' AND mbox_host='${domain}'} {${value}M}}
quota_size_regex = S= (\d+)$
quota_warn_threshold = 75%
return_path_add


Тебе нужно лишь в транспорте исправить путь. У меня спамовые письма кладутся в домашнюю директорию пользователя, в подпапку Spam. Ты же можешь экспериментировать с путями.
Автор: G_R
Дата сообщения: 12.12.2006 09:50
привет!

если какая прога для анализа логов ексима? типа кто чего и куда отправлял, какие ошибки были.
Автор: Yakon
Дата сообщения: 12.12.2006 10:18
DarkHost

Цитата:
Почему ты не думаешь, что делаешь? Ты в кондишне роутера должен проверять не существование домена, а существование пользователя. Прикинь, что произойдет, если я тебе пришлю 10000000 писем с адресами aaaa@domain,aaab@domain,...,xxxx@domain. У тебя роутер ровно столько раз отработает и насоздает 10000000 папок.

см. мой первый пост.
У меня совсем другая задача.
Письма с $spam_score_int > 30 складировать в общую для всего домена папку для спама.
А в eq{}{${lookup mysql{SELECT `domain` FROM `spamd` \
WHERE `domain`='${quote_mysql:@$domain}'}
я хочу проверять включено ли такое правило для домена.
Если да, то складируются письма, если нет, то следующий роутер.
А письма для несуществующих пользователей я ранее могу отсекать, если понадобиться или это правило модернизировать.
Сейчас не это важно.
Это правило не работает, оно одинаково реагирует, если домен есть в таблице и если его нет.
В таблице у меня запись mydomain2.ru spam@mydomain2.ru
Роутер срабатывает и для записи mydomain3.ru, хотя такой записи нет в таблице.
Автор: hoochie
Дата сообщения: 12.12.2006 11:06

Цитата:
если какая прога для анализа логов ексима?

eximstats
Автор: theBah
Дата сообщения: 12.12.2006 12:55
Для анализа логов используем exilog: http://duncanthrax.net/exilog/
работает почти год, в момент подчистки базы слегка тормозит систему (на несколько секунд), но это ночью и заметно только для мониторинга
Автор: AnGo
Дата сообщения: 13.12.2006 08:01
hoochie
За намбер ван - спасибо, работает.

Рекомендация намбер ту не помогла, я наверное по пояс деревянный. Покажи пальцем где и что надо прописать.
Автор: darkomen
Дата сообщения: 13.12.2006 11:36
Господа к проблеме о работе ассасина в логе екзима
2006-11-30 09:49:00 1Gpfj6-0002qq-3r spam acl condition: cannot parse spamd output
2006-11-30 10:00:03 1Gpftm-0002s1-U7 spam acl condition: cannot parse spamd output
2006-11-30 10:12:21 1Gpg50-0002vQ-T6 spam acl condition: cannot parse spamd output
2006-11-30 10:27:30 1GpgKK-00031C-39 spam acl condition: cannot parse spamd output

в логе асасина

Dec 13 11:39:49 mx spamd[12801]: spamd: connection from localhost.dtb.ru [127.0.0.1] at port 54950
Dec 13 11:39:49 mx spamd[12801]: spamd: checking message <08db01c71e91$332c6a7e$b9483840@barbf.com> for mail:1003
Dec 13 11:39:53 mx spamd[889]: spamd: handled cleanup of child pid 12801 due to SIGCHLD
Dec 13 11:39:53 mx spamd[889]: prefork: child states: I
Dec 13 11:39:53 mx spamd[889]: spamd: server successfully spawned child process, pid 13152

Чтобы это означало всё??
Автор: AnGo
Дата сообщения: 13.12.2006 15:05
darkomen
Ошибка в 17 строке.
А если серьезно, приведи конфиг ассасина.
Тогда м/б, что-нить и скажем.
Автор: alexpogodin
Дата сообщения: 14.12.2006 14:01
Уважаемые!

Я уже задавал вопрос, но так ответа и не получил. Беспокоит следующая проблема. Когда письма отправляются с помощью почтовой программы, то все происходит нормально. Однако, когда пытаемся отправить почту из скрипта вызываемого апачем, происходит следующее: заголовок From выставляется как и полагается в установленное значение (например webmaster@example.com), но добавляется заголовок Return-path вида www@www.example.com.

Уж очень напрягает такое поведение Exim-а. При этом, проблема появилась после миграции на новый сервер, конфиг Exim-а был снят со старого практически без изменений. Но на старом сервере такие заголовки НЕ добавлялись, а тут - да.

Подскажите где чего подкрутить. Уж замаялся. Готов выложить конфиг, если такой ситуации никто не встречал...

С уважением.
Автор: tankistua
Дата сообщения: 14.12.2006 14:28
в системных фильтрах переписывать заголовок в соотвествие с From.

if
$message_headers contains Return-path
then
headers remove "Return-path:"
headers add "Return-path: $h_From"
endif


примерно вот так. Победить другим способом мне не удалось.

З.Ы. или втупую в роутере выреай заголовок Return-path - он не нужен для ответа, для ответа будет использоваться поле фром
Автор: autopilot
Дата сообщения: 14.12.2006 15:11
alexpogodin
У нас это в PHP проявлялось. Тогда лечится
mail($emailto, $subj, $body, $head, " -f webmaster@example.com");
и в конфиге EXIM добавить
trusted_users = apache
Автор: G_R
Дата сообщения: 14.12.2006 16:20
привет всем!

кто как поступает с логами ексима и довекота? т.е. растут они до бесконечности или их надо чистить ручками? а можно ли чтоб они складывались, например, по неделям или месяцам?
Автор: tankistua
Дата сообщения: 14.12.2006 17:16
http://www.exim.org/exim-html-4.63/doc/html/spec_html/ch48.html#SECTwhelogwri

P.S. я все складываю в папочку - на всякий случай.
Автор: kornell
Дата сообщения: 18.12.2006 15:43
Выложите пожалуйста кому не жалко рабочие конфигурации Exim, который работает в связке с MySQL...
Хочется сравнить, посмотреть... А то много недоделок в конфигурации от Ginger...
Автор: G_R
Дата сообщения: 19.12.2006 08:47

Цитата:
Выложите пожалуйста кому не жалко рабочие конфигурации Exim, который работает в связке с MySQL...
Хочется сравнить, посмотреть... А то много недоделок в конфигурации от Ginger...


за основу взял конфиг от Вомбата. обнавленный от Джинджер я пока не ставил - не разобрался с ним
[more]
########################28.11.2006####################################
# Runtime configuration file for Exim #
######################################################################
######################################################################
# MAIN CONFIGURATION SETTINGS #
######################################################################

#имя нашего хоста
primary_hostname =

#данные для подключения к MySQL серваку
hide mysql_servers = localhost/exim/sqlmail/my_pass

#Список локальных и виртуальных доменов
domainlist local_domains = @ : @[] : localhost : \
${lookup mysql{SELECT domain FROM domains \
WHERE domain='${domain}' AND \
(type='LOCAL' OR type='VIRTUAL')}}

#Список доменов, для которых разрешено принимать почту
domainlist relay_to_domains = ${lookup mysql{SELECT domain FROM domains \
WHERE domain='${domain}' AND type='RELAY'}}

#Список доменов, с которых разрешено принимать почту
hostlist relay_from_hosts = 127.0.0.1 : 192.168.0.0/24

auth_advertise_hosts = *
daemon_smtp_ports = 25 : 465
tls_on_connect_ports = 465
tls_advertise_hosts = *
tls_certificate = /etc/ssl/certs/mail.pem
tls_privatekey = /etc/ssl/certs/mail.pem

#Что будем протоколировать в лог
log_selector = \
    +address_rewrite \
+all_parents \
    +arguments \
    +connection_reject \
    +delay_delivery \
    +delivery_size \
    +dnslist_defer \
    +incoming_interface \
    +incoming_port \
+lost_incoming_connection \
    +queue_run \
    +received_sender \
+received_recipients \
    +sender_on_delivery \
    +size_reject \
    +skip_delivery \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
    +subject \
    +tls_cipher \
    +tls_peerdn \
-queue_run

#вызов правил доступа при проверке адреса получателя
acl_smtp_rcpt = acl_check_rcpt

#вызов правил проверки писем
acl_smtp_mime = acl_check_mime
acl_smtp_data = acl_check_virus

#прикручиваем антивирус
av_scanner = clamd:/var/run/clamav/clamd.sock

#имя домена, добавляемое для локальных отправителей
#т.е. user@имя_домена
qualify_domain = мой домен

#не принимать почту вида user@111.111.111.111
allow_domain_literals = false

#список пользователей, которым запрещено получать почту
#для доставки им почты используется база aliases
never_users = root:daemon:bin:sync:named

#преобразование всех IP-адресов, содержащихся в заголовках почты, в имена хостов.
#снижает производительность. при сильной нагрузке - заремить
host_lookup = *

#повышают производительность сервера за счет запрета идентификационных
#соединений, описанных в RFC 1413
rfc1413_hosts = *
rfc1413_query_timeout = 0s

#if пиьмо было недоставлено, генерируется сообщение об ошибке. if оно не доставлено,
#то оно замараживается на указаный срок. потом еще попытка. при неудаче - удаляется.
ignore_bounce_errors_after = 30m

#замароженные сообщения, находящиеся в очереди больше указанного времени удаляются
#и генерируется сообщение об ошибке(если это не недост. сообщ. об ошибке)
timeout_frozen_after = 3d

#кому слать сообщения о замороженных письмах
freeze_tell = postmaster

#максимальный допустимый размер обрабатываемых сообщений
message_size_limit = 10M

#максимальное число обрабатываемых подключений к SMTP-серверу
smtp_accept_max = 50

#максимальное число сообщений, принимаемое за одно соединение от одного
#пользователя или удаленного сервера.
smtp_accept_max_per_connection = 35

#максимальное число коннектов с одного хоста
smtp_accept_max_per_host = 2

#для увеличения производительности директория 'spool' внутри разделяется на директории
split_spool_directory = true

#если у сообщения много адресатов, то запускается до указанного числа
#паралельных процессов доставки
remote_max_parallel = 15

#содержание сообщения, получаемое удаленной системой при установке соединения
#с SMTP-сервером
smtp_banner = "Welcome on our mail server!\n\
This system does not accept Unsolicited \
Commercial Email\nand will blacklist \
offenders via our spam processor.\nHave a \
nice day!\n\n${primary_hostname} ESMTP Exim"


######################################################################
# ACL CONFIGURATION #
# Specifies access control lists for incoming SMTP mail #
######################################################################
begin acl

#эти правила срабатывают для каждого получателя
acl_check_rcpt:

#принимать сообщения с локалхоста
accept hosts = :

#запрещаем письма, содержащие в локальной части @, %, !, \, |
#проверяются локальные домены
deny message = "incorrect symbol in address"
     domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]

#тоже самое для нелокальных доменов
deny message = "incorrect symbol in address"
     domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

#принимаем почту для постмастеров локальных доменов без проверки отправителя
accept local_parts = postmaster
domains = +local_domains

#запрещаем принимать почту, если адрес не определен
require verify = sender

#запрещаем тех, кто обменивается приветственными сообщениями (HELO/EHLO)
deny message = HELO/EHLO required by SMTP RFC
condition = ${if eq{$sender_helo_name}{}{yes}{no}}

#принимаем сообщения от тех, кто аутентифицировался
accept authenticated = *

#запрещаем хосты типа *adsl*, *pool* и т.п. Нормальные люди с таких не пишут
#если будут проблемы убираем проблемный пункт (например dialup)
deny message = Go Away! You are spammer.
condition = ${if match{$sender_host_name} \
{bezeqint\\.net|net\\.il|dialup|dsl|pool|peer|dhcp} \
{yes}{no}}

#запрещаем тех, кто в блэк-литсах. Серваки перебираются сверху вниз. если не
#найден в списках - то пропускается
# deny message = rejected because \
# $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
# log_message = found in $dnslist_domain
# dnslists = relays.ordb.org : dnsbl.njabl.org : \
#     ipwhois.rfc-ignorant.org : dialups.mail-abuse.org : \
#             list.dsbl.org : bl.spamcop.net : dnsbl.void.ru

#разрешает прием сообщений только для локального хоста если получатель существует
accept domains = +local_domains
endpass
message = "unknown user in my mailserver"
verify = recipient

#проверяем получателя в релейных доменах
accept domains = +relay_to_domains
endpass
message = "unrouteable address in relay host"
verify = recipient

#разрешаем почту от доменов в списке relay_from_hosts
accept hosts = +relay_from_hosts

#принимаем сообщения от тех, кто аутентифицировался
# accept authenticated = *

deny message = "Spamer go to home!!!"


acl_check_mime:

warn decode = default

deny message = Blacklisted file extension detected ($mime_filename)
condition = ${if match \
{${lc:$mime_filename}} \
{\N(\.exe|\.pif|\.bat|\.scr|\.lnk|\.com|\.vbs|\.cpl)$\N} \
{1}{0}}

deny message = Sorry, noone speaks chinese here
condition = ${if eq{$mime_charset}{gb2312}{1}{0}}

accept

acl_check_virus:
#Проверяем письмо на вирусы
deny message = "In e-mail found VIRUS - $malware_name"
malware = *
accept

######################################################################
# ROUTERS CONFIGURATION #
# Specifies how addresses are handled #
######################################################################
# THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT! #
# An address is passed to each router in turn until it is accepted. #
######################################################################
#способы обработки почтовых адресов и способы доставки сообщений

begin routers

#Поиск маршрута к хосту в DNS. Если маршрут не найден в DNS - то это
#"unroteable address". Локальные домены, 0.0.0.0 и 127.0.0.0/8 не проверяются
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

#смотрим алиасы
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT recipients FROM aliases \
WHERE local_part='${local_part}' AND domain='${domain}'}}

#смотрим форвардинг
userforward:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT recipients FROM userforward \
WHERE local_part='${local_part}' AND domain='${domain}'}}

#локальная доставка
virtual_localuser:
driver = accept
domains = ${lookup mysql{SELECT domain from domains WHERE domain='${domain}'}}
local_parts = ${lookup mysql{SELECT id from users \
WHERE id='${local_part}' AND mbox_host='${domain}'}}
transport = local_delivery

######################################################################
# TRANSPORTS CONFIGURATION #
######################################################################
# ORDER DOES NOT MATTER #
# Only one appropriate transport is called for each delivery. #
######################################################################
#доставка почты

begin transports

#Доставка на удаленные хосты по SMTP
remote_smtp:
driver = smtp

#локальная доставка
local_delivery:
driver = appendfile
check_string = ""
create_directory
delivery_date_add
directory = ${lookup mysql{SELECT CONCAT(home, "/Maildir") FROM users \
WHERE id='${local_part}' AND mbox_host='${domain}'}}
directory_mode = 770
envelope_to_add
headers_remove = "Lines"
headers_add = "Lines: $body_linecount\n"
group = mail
maildir_format
maildir_tag = ,S=$message_size
message_prefix = ""
message_suffix = ""
mode = 0660
no_mode_fail_narrower
quota = ${lookup mysql{SELECT quota FROM users \
WHERE id='${local_part}' AND mbox_host='${domain}'}{${value}M}}
quota_size_regex = S=(\d+)$
quota_warn_threshold = 75%
quota_warn_message = "\
To: $local_part@domain\n\
From: postmaster@domain\n\
# Subject: Your maildir is going full\n\
Subject: Ваш почтовый ящик переполнен\n\
Это сообщение автоматически сгенерировано Вашим почтовым сервером.\n\
Сообщаем, что Ваш ящик заполнен на 75%! Необходимо принять почту!\n\
Иначе Вы не сможете получать новые письма!\n"
return_path_add

#доставка в pipe
address_pipe:
driver = pipe
log_defer_output
log_fail_output
path = "/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin/:/usr/bin:/bin"
return_output
user = mail
group = mail
headers_remove = "Lines"
headers_add = "Lines: $body_linecount\n"

#доставка прямо в файл
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add

#транспорт для автоответов
address_reply:
driver = autoreply

######################################################################
# RETRY CONFIGURATION #
######################################################################
#повтор недоставленный писем

begin retry

* quota
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h


######################################################################
# REWRITE CONFIGURATION #
######################################################################

begin rewrite

######################################################################
# AUTHENTICATION CONFIGURATION #
######################################################################
#секция авторизации

begin authenticators

#для Нетскапе
auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT id FROM users \
WHERE id = '${quote_mysql:${local_part:$2}}' \
AND mbox_host = '${quote_mysql:${domain:$2}}' \
AND passwd = '${quote_mysql:$3}' \
AND active = 'Y'}{yes}{no}}
server_prompts = :
server_set_id = $2

#для Оутглюка
auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{SELECT id FROM users \
WHERE id = '${quote_mysql:${local_part:$1}}' \
AND mbox_host = '${quote_mysql:${domain:$1}}' \
AND passwd = '${quote_mysql:$2}' \
AND active = 'Y'}{yes}{no}}
server_prompts = Username:: : Password::
server_set_id = $1

#для Летучей Мыши
auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT passwd FROM users \
WHERE id = '${quote_mysql:${local_part:$1}}' \
#если отремить ниже то не работает аунтефикация как я писал(пока не поборол)
# AND mbox_host = '${quote_mysql:${domain:$1}}' \
AND active = 'Y'}{$value}fail}

server_set_id = $1

# End of Exim configuration file

[/more]
Автор: G_R
Дата сообщения: 19.12.2006 16:21
можно ли как то сделать, чтобы каждый вечер лог давекота переименовывался на подобии логов ексима?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: MS Outlook Возвращает: Не удается доставить.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.