Есть связка exim 4.67 + cyrus 2.3.7 через транспорт
local_delivery_lmtp:
driver = smtp
protocol = lmtp
hosts_override
hosts = 127.0.0.1
allow_localhost
return_path_add
Все чудесно работает, но иногда начинает быстро расти очередь экзима. До
неприятных значений.
Неприятность возникает нерегулярно и с весьма ограниченным кругом ящиков.
В случае, когда в каком-то из почтовых ящиков закончилось место, cyrus,
при обращении exim говорит:
2007-11-29 12:58:08 H=smtp002.mail.ukl.yahoo.com [217.12.11.33]
F=<Derric...@yahoo.co.uk> temporarily rejected RCPT
<fa...@my.domain>: response to "RCPT TO:<fa...@my.domain>" from 127.0.0.1
[127.0.0.1] was: 452 4.2.2 Over quota
Но для этих пострадавших exim все равно ставит сообщение в свою очередь.
Для других ящиков с over quota в тех же доменах такого "чуда" не
происходит - exim прощается с удаленной стороной и уже удаленная сторона
повторяет отправку.
Свои умные мысли закончились, прошу помощи у сообщества. Хотя бы в
указании направления, в какую сторону копать.
--
Marina Uzhentseva
_______________________________________________
exim-users mailing list
exim-...@exim.org.ua
http://exim.org.ua/mailman/listinfo/exim-users
в imapd.conf нужно добавить это:
lmtp_over_quota_perm_failure: 1
и проверку получателя на стадии RCPT TO обязательно, например так:
deny domains = +local_domains : +virtual_domains
!verify = recipient/callout=10s,no_cache
message = Account is not accessible.
log_message = Callout sent the client far away
по идее этого должно хватить.
--
mccloud@
Andrey Voitenkov wrote:
> в imapd.conf нужно добавить это:
>
> lmtp_over_quota_perm_failure: 1
:( cyrus сложился через минуту
>
> и проверку получателя на стадии RCPT TO обязательно, например так:
>
> deny domains = +local_domains : +virtual_domains
> !verify = recipient/callout=10s,no_cache
> message = Account is not accessible.
> log_message = Callout sent the client far away
Дело в том, что такая проверка стоит:
# Accept valid (and reject invalid) envelope recipient adresses in cyrus
domains
accept domains = +cyrus_domains
endpass
message = User unknown
verify = recipient/callout=random,60s
И при попытке отправить письмо получателю с исчерпаной квотой (кроме
этой "шедевральной" партии) в том же домене, удаленный почтовый сервер
получает 451 и ставит неотправленное письмо себе в очередь.
А вот для нескольких избранных письмо почему-то принимается exim-ом и
ставится в свою очередь. Несмотря на ответ по lmtp 452 Over quota
>
> по идее этого должно хватить.
>
>
--
Marina Uzhentseva
> Приветствую
>
> Andrey Voitenkov wrote:
>> в imapd.conf нужно добавить это:
>>
>> lmtp_over_quota_perm_failure: 1
>
> :( cyrus сложился через минуту
>
>>
>> и проверку получателя на стадии RCPT TO обязательно, например так:
>>
>> deny domains = +local_domains : +virtual_domains
>> !verify = recipient/callout=10s,no_cache
>> message = Account is not accessible.
>> log_message = Callout sent the client far away
>
> Дело в том, что такая проверка стоит:
>
> # Accept valid (and reject invalid) envelope recipient adresses in
> cyrus
> domains
>
> accept domains = +cyrus_domains
> endpass
> message = User unknown
> verify = recipient/callout=random,60s
>
>
> И при попытке отправить письмо получателю с исчерпаной квотой (кроме
> этой "шедевральной" партии) в том же домене, удаленный почтовый сервер
> получает 451 и ставит неотправленное письмо себе в очередь.
>
> А вот для нескольких избранных письмо почему-то принимается exim-ом и
> ставится в свою очередь. Несмотря на ответ по lmtp 452 Over quota
>
Just a wild guess... Такие письма точно имели _одного_ адресата в
этом домене?
На самом деле их как минимум три:
1. li...@my.domain - ящик обслуживается cyrus-ом
2. fa...@my.domain - после заведения собственного домена клиентом была
заведена переадресация fa...@my.domain -> fa...@faya.some.domain и
fa...@my.domain -> fa...@faya.some.domain. faya.some.domain опять же
обслуживается тем же cyrus-ом
3. *@someelse.domain -> virt...@my.domain, т.е. вся почта для домена
складывается в один почтовый ящик у того же cyrus-а.
Сегодня утром нашла в очереди полтысячи писем с разными отправителями на
li...@my.domain (Over quota), для этого адресата почта копилась трое
суток. И сотни две для fa...@my.domain (в обоих ящиках, куда должна
переадресовываться почта - Over quota).
Единственное общее у этих всех адресатов - достаточно интенсивный поток
входящей почты.
--
Marina Uzhentseva
>> и проверку получателя на стадии RCPT TO обязательно, например так:
>>
>> deny domains = +local_domains : +virtual_domains
>> !verify = recipient/callout=10s,no_cache
>> message = Account is not accessible.
>> log_message = Callout sent the client far away
>
> Дело в том, что такая проверка стоит:
>
> # Accept valid (and reject invalid) envelope recipient adresses in cyrus
> domains
>
> accept domains = +cyrus_domains
> endpass
> message = User unknown
> verify = recipient/callout=random,60s
>
>
> И при попытке отправить письмо получателю с исчерпаной квотой (кроме
> этой "шедевральной" партии) в том же домене, удаленный почтовый сервер
> получает 451 и ставит неотправленное письмо себе в очередь.
>
> А вот для нескольких избранных письмо почему-то принимается exim-ом и
> ставится в свою очередь. Несмотря на ответ по lmtp 452 Over quota
>
ну чудес не бывает, надо посмотреть весь конфиг и, желательно, вывод
exim -bhc для проблемного адреса.
--
mccloud@
Andrey Voitenkov wrote:
> Marina Uzhentseva wrote:
>>> в imapd.conf нужно добавить это:
>>>
>>> lmtp_over_quota_perm_failure: 1
>> :( cyrus сложился через минуту
>>
> прикольно.... а что сказал?
Тихонечко так, я любовалась логами exim-а и заметила, что cyrus перестал
отвечать вообще по lmtp
> по идее нагрузка должна либо не измениться, либо уменьшиться.
> btw, какая версия и платформа?
>
exim 4.67 + cyrus 2.3.7
FreeBSD 6.2-RELEASE
> ну чудес не бывает, надо посмотреть весь конфиг и, желательно, вывод
> exim -bhc для проблемного адреса.
>
>
cat /etc/exim/configure | grep -v "#"
MM_HOME=/usr/local/mailman
MM_UID=mailman
MM_GID=mailnull
MM_WRAP=MM_HOME/mail/mailman
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
primary_hostname = mail.my.domain
DOMAIN_DIR = /etc/exim/domains
DB =
domainlist local_domains = @ : mail.my.domain : my.domain
domainlist my_domains = +local_domains : +cyrus_domains :
+relay_to_domains : +mm_domains
domainlist cyrus_domains = /etc/exim/domains/cyrus_domains
domainlist relay_to_domains = /etc/exim/domains/relay_domains
domainlist virtual_domains = /etc/exim/domains/virtual_domains
domainlist mm_domains = maillists.my.domain
domainlist accept_from_domains = ripe.net : view.my.domain
hostlist relay_from_hosts = 127.0.0.1 : xx.xx.xx.0/yy
hostlist rbl_no_check_hosts = 127.0.0.1 : xx.xx.xx.0/yy
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
daemon_smtp_ports = 25 : 465 : 587
admin_groups = mail
exim_user = mailnull
exim_group = mail
never_users = root
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 5s
ignore_bounce_errors_after = 1d
timeout_frozen_after = 4d
split_spool_directory = true
message_size_limit = 10485760
accept_8bitmime
smtp_ratelimit_hosts = *
smtp_ratelimit_mail = 2,0.5s,1.05,4m
smtp_ratelimit_rcpt = 4,0.25s,1.015,4m
smtp_accept_max = 150
smtp_accept_max_per_host = 8
smtp_accept_queue_per_connection = 20
recipients_max = 20
recipients_max_reject = true
received_headers_max = 30
remote_max_parallel = 3
callout_domain_negative_expire = 2h
callout_domain_positive_expire = 3d
callout_negative_expire = 1h
callout_positive_expire = 24h
system_filter = /etc/exim/filters/priority
system_filter_user = mailnull
begin acl
acl_check_rcpt:
accept hosts = :
deny sender_domains = +cyrus_domains
message = Sender unknown/invalid
!verify = sender/callout=defer_ok,60s
deny sender_domains = +relay_to_domains
message = Sender unknown/invalid
!verify = sender/callout=defer_ok,60s
deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
accept local_parts = postmaster
domains = +local_domains
deny message = Sender verification failed.
!sender_domains = *.my.domain
!verify = sender/callout=60s
accept domains = +cyrus_domains
endpass
message = User unknown
verify = recipient/callout=random,60s
accept domains = +relay_to_domains
endpass
message = User unknown
verify = recipient/callout=random,60s
accept domains = +my_domains
endpass
verify = recipient/callout=random,30s
accept hosts = +relay_from_hosts
control = submission
deny message = "Use mail relays of your ISP"
!hosts = +rbl_no_check_hosts : +relay_from_hosts
dnslists = dul.ru
deny message = relay not permitted
acl_check_data:
deny message = Sorry, noone speaks chinese here
condition = ${if eq{$mime_charset}{gb2312}{1}{0}}
accept condition = ${if
match_domain{${extract{1}{>}{${extract{2}{@}{$header_from:}}}}}{+local_domains}{1}{0}}
accept condition = ${if
match_domain{${extract{1}{>}{${extract{2}{@}{$header_from:}}}}}{+accept_from_domains}{1}{0}}
deny message = We do not accept bounces
condition = ${if <{${strlen:$sender_address}}{1}{1}{0}}
accept
begin routers
dnslookup:
driver = dnslookup
domains = ! +my_domains : ! +cyrus_domains
transport = remote_smtp
ignore_target_hosts = 127.0.0.0/8
no_more
spamcheck_router:
no_verify
condition = ${if and {{<{$message_size}{256K}} {!eq
{$received_protocol}{spam-scanned}}} {1}{0}}
driver = accept
transport = spamcheck
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/mail/aliases}}
user = mailnull
group = mail
file_transport = address_file
pipe_transport = address_pipe
mailman_router:
driver = accept
domains = +mm_domains
require_files = MM_LISTCHK
local_part_suffix_optional
local_part_suffix = -admin : \
-bounces : -bounces+* : \
-confirm : -confirm+* : \
-join : -leave : \
-owner : -request : \
-subscribe : -unsubscribe
transport = mailman_transport
virtusertable:
driver = redirect
allow_fail
allow_defer
data =
${lookup{$local_part@$domain}lsearch*@{/etc/exim/domains/redirects}}
userforward:
driver = redirect
check_local_user
file = $home/.forward
no_verify
no_expn
check_ancestor
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
condition = ${if exists{$home/.forward} {yes} {no} }
localuser:
driver = accept
transport = local_delivery_lmtp
begin transports
remote_smtp:
driver = smtp
spamcheck:
driver = pipe
command = /usr/local/sbin/exim -oMr spam-scanned -bS
use_bsmtp = true
transport_filter = /usr/local/bin/spamc
home_directory = "/tmp"
current_directory = "/tmp"
user = mailnull
group = mail
log_output = true
return_fail_output = true
return_path_add = false
message_prefix =
message_suffix =
local_delivery:
driver = appendfile
file = /var/mail/$local_part
delivery_date_add
envelope_to_add
return_path_add
group = mail
mode = 0660
no_mode_fail_narrower
local_delivery_lmtp:
driver = smtp
protocol = lmtp
hosts_override
hosts = 127.0.0.1
allow_localhost
return_path_add
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_reply:
driver = autoreply
mailman_transport:
driver = pipe
command = MM_WRAP \
'${if def:local_part_suffix \
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
{post}}' \
$local_part
current_directory = MM_HOME
home_directory = MM_HOME
user = MM_UID
group = MM_GID
begin retry
.include_if_exists /etc/exim/domains/quota_domains
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
begin rewrite
begin authenticators
cat /etc/exim/filters/priority
# Exim filter
if
$h_X-Spam-Flag: contains "YES"
then
headers add "Old-X-Pri: $h_X-MSMail-Priority:"
headers remove "X-MSMail-Priority"
headers add "X-MSMail-Priority: Low"
headers remove "Old-X-Pri"
headers add "Old-X-Pri: $h_X-Priority:"
headers remove "X-Priority"
headers add "X-Priority: 5"
headers remove "Old-X-Pri"
headers add "Old-X-Pri: $h_Importance"
headers remove "Importance"
headers add "Importance: low"
headers remove "Old-X-Pri"
headers add "Old-X-Pri: $h_Priority"
headers remove "Priority"
headers add "Priority: Non-Urgent"
headers remove "Old-X-Pri"
endif
exim -bhc 127.0.0.1
**** SMTP testing session as if from host 127.0.0.1
**** but without any ident (RFC 1413) callback.
**** This is not for real!
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? yes (matched "*")
>>> looking up host name for 127.0.0.1
>>> IP address lookup yielded localhost.my.domain
>>> gethostbyname looked up these IP addresses:
>>> name=localhost.my.domain address=127.0.0.1
>>> checking addresses for localhost.my.domain
>>> 127.0.0.1 OK
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
>>> host in helo_verify_hosts? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
220 mail.my.domain ESMTP Exim 4.67 Thu, 29 Nov 2007 16:06:50 +0200
ehlo localhost
>>> host in pipelining_advertise_hosts? yes (matched "*")
>>> host in tls_advertise_hosts? no (option unset)
250-mail.my.domain Hello localhost.my.domain [127.0.0.1]
250-SIZE 10485760
250-8BITMIME
250-PIPELINING
250 HELP
mail from: ma...@i.ua
250 OK
rcpt to: li...@my.domain
>>> using ACL "acl_check_rcpt"
>>> processing "accept"
>>> check hosts = :
>>> host in ":"? no (end of list)
>>> accept: condition test failed
>>> processing "deny"
>>> check sender_domains = +cyrus_domains
>>> i.ua in "/etc/exim/domains/cyrus_domains"? no (end of list)
>>> i.ua in "+cyrus_domains"? no (end of list)
>>> deny: condition test failed
>>> processing "deny"
>>> check sender_domains = +relay_to_domains
>>> i.ua in "/etc/exim/domains/relay_domains"? no (end of list)
>>> i.ua in "+relay_to_domains"? no (end of list)
>>> deny: condition test failed
>>> processing "deny"
>>> check domains = +local_domains
>>> my.domain in "@ : mail.my.domain : my.domain"? yes (matched
"my.domain")
>>> my.domain in "+local_domains"? yes (matched "+local_domains")
>>> check local_parts = ^[.] : ^.*[@%!/|]
>>> liks in "^[.] : ^.*[@%!/|]"? no (end of list)
>>> deny: condition test failed
>>> processing "deny"
>>> check domains = !+local_domains
>>> my.domain in "!+local_domains"? no (matched "!+local_domains" - cached)
>>> deny: condition test failed
>>> processing "accept"
>>> check local_parts = postmaster
>>> liks in "postmaster"? no (end of list)
>>> accept: condition test failed
>>> processing "deny"
>>> check !sender_domains = *.my.domain
>>> i.ua in "*.my.domain"? no (end of list)
>>> check !verify = sender/callout=60s
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing ma...@i.ua
>>> i.ua in "@ : mail.my.domain : my.domain"? no (end of list)
>>> i.ua in "/etc/exim/domains/cyrus_domains"? no (end of list)
>>> i.ua in "/etc/exim/domains/relay_domains"? no (end of list)
>>> i.ua in "maillists.my.domain"? no (end of list)
>>> i.ua in "+local_domains : +cyrus_domains : +relay_to_domains :
+mm_domains"? no (end of list)
>>> i.ua in "! +my_domains : ! +cyrus_domains"? yes (end of list)
>>> calling dnslookup router
>>> 91.198.36.2 in "127.0.0.0/8"? no (end of list)
>>> 91.198.36.8 in "127.0.0.0/8"? no (end of list)
>>> routed by dnslookup router
>>> Attempting full verification using callout
>>> callout cache: found domain record
>>> callout cache: found address record
>>> callout cache: address record is positive
>>> ----------- end verify ------------
>>> deny: condition test failed
>>> processing "accept"
>>> check domains = +cyrus_domains
>>> my.domain in "/etc/exim/domains/cyrus_domains"? yes (matched
"my.domain" in /etc/exim/domains/cyrus_domains)
>>> my.domain in "+cyrus_domains"? yes (matched "+cyrus_domains")
>>> check verify = recipient/callout=random,60s
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing li...@my.domain
>>> my.domain in "+local_domains : +cyrus_domains : +relay_to_domains :
+mm_domains"? yes (matched "+local_domains" - cached)
>>> my.domain in "! +my_domains : ! +cyrus_domains"? no (matched "!
+my_domains")
>>> calling system_aliases router
>>> system_aliases router declined for li...@my.domain
>>> my.domain in "maillists.my.domain"? no (end of list)
>>> my.domain in "+mm_domains"? no (end of list)
>>> calling virtusertable router
>>> virtusertable router declined for li...@my.domain
>>> calling localuser router
>>> routed by localuser router
>>> local host found for non-MX address
>>> fully qualified name = 127.0.0.1
>>> gethostbyname looked up these IP addresses:
>>> name=127.0.0.1 address=127.0.0.1
>>> Attempting full verification using callout
>>> callout cache: found domain record
>>> callout cache: domain rejects random addresses
>>> callout cache: found address record
>>> callout cache: address record is positive
>>> ----------- end verify ------------
>>> accept: condition test succeeded
250 Accepted
P.S. Владельцы за рабочий день почту забрали, очередь рассосалась...
--
Marina Uzhentseva
Кеда Алексей Леонидович wrote:
> [offtop]
> зачем же руками собирать, когда порты есть...
> [/offtop]
*Примирительно*
Знаю я, что такое порты, знаю :) Но некоторые вещи почему-то люблю
ручками собирать
--
Marina Uzhentseva
>>> Attempting full verification using callout
>>> callout cache: disabled by no_cache
>>> interface=NULL port=24
>>> Connecting to localhost.gyrus.kiev.ua [127.0.0.1]:24 ... connected
>>> SMTP<< 220 kanga.gyrus.kiev.ua LMTP Cyrus v2.2.13 ready
>>> SMTP>> LHLO mail.gyrus.kiev.ua
>>> SMTP<< 250-kanga.gyrus.kiev.ua
>>> 250-8BITMIME
>>> 250-ENHANCEDSTATUSCODES
>>> 250-PIPELINING
>>> 250-SIZE
>>> 250-AUTH EXTERNAL
>>> 250 IGNOREQUOTA
>>> SMTP>> MAIL FROM:<>
>>> SMTP<< 250 2.1.0 ok
>>> SMTP>> RCPT TO:<z...@gyrus.biz>
>>> SMTP<< 552 5.2.2 Over quota
>>> SMTP>> QUIT
--
mccloud@
гм.... это и есть отгадка, мне кажется.
интенсивный поток почты доводит ящики до Over quota,
а кеш на callout'е продолжает пропускать письма в локальную очередь.
Т.к. подозрительные адреса из-за большого потока входящей почты сидят в
кэше безвылазно, могу дать для фейкового адреса ( такого в обслуживании нет)
>>> gethostbyname looked up these IP addresses:
>>> name=127.0.0.1 address=127.0.0.1
>>> Attempting full verification using callout
>>> callout cache: found domain record
>>> callout cache: domain rejects random addresses
>>> callout cache: no address record found
>>> interface=NULL port=2003
>>> Connecting to 127.0.0.1 [127.0.0.1]:2003 ... connected
>>> SMTP<< 220 mail.my.domain LMTP Cyrus v2.3.7 ready
>>> SMTP>> LHLO mail.my.domain
>>> SMTP<< 250-mail.my.domain
>>> 250-8BITMIME
>>> 250-ENHANCEDSTATUSCODES
>>> 250-PIPELINING
>>> 250-SIZE 10000000
>>> 250-AUTH EXTERNAL
>>> 250 IGNOREQUOTA
>>> SMTP>> MAIL FROM:<>
>>> SMTP<< 250 2.1.0 ok
>>> SMTP>> RCPT TO:<za...@my.domain>
>>> SMTP<< 550-Mailbox unknown. Either there is no mailbox
associated with this
>>> 550-name or you do not have authorization to see it.
>>> 550 5.1.1 User unknown
>>> SMTP>> QUIT
>>> wrote callout cache domain record:
>>> result=1 postmaster=0 random=2
>>> wrote negative callout cache address record
>>> ----------- end verify ------------
>>> accept: condition test failed
>>> accept: endpass encountered - denying access
550 User unknown
LOG: H=(mari) [aa.aaa.aa.aa] F=<ma...@i.ua> rejected RCPT za...@my.domain:
response to "RCPT TO:<za...@my.domain>" from 127.0.0.1 [127.0.0.1] was:
550-Mailbox unknown. Either there is no mailbox associated with
this\n550-name or you do not have authorization to see it.\n550 5.1.1
User unknown
Andrey Voitenkov wrote:
> Вот эту часть надо повторить, только без кеша.
> Тут не видно самого интересного - вызова lmtp, должно быть что-то такое:
>
> >>> Attempting full verification using callout
> >>> callout cache: disabled by no_cache
> >>> interface=NULL port=24
> >>> Connecting to localhost.gyrus.kiev.ua [127.0.0.1]:24 ... connected
> >>> SMTP<< 220 kanga.gyrus.kiev.ua LMTP Cyrus v2.2.13 ready
> >>> SMTP>> LHLO mail.gyrus.kiev.ua
> >>> SMTP<< 250-kanga.gyrus.kiev.ua
> >>> 250-8BITMIME
> >>> 250-ENHANCEDSTATUSCODES
> >>> 250-PIPELINING
> >>> 250-SIZE
> >>> 250-AUTH EXTERNAL
> >>> 250 IGNOREQUOTA
> >>> SMTP>> MAIL FROM:<>
> >>> SMTP<< 250 2.1.0 ok
> >>> SMTP>> RCPT TO:<z...@gyrus.biz>
> >>> SMTP<< 552 5.2.2 Over quota
> >>> SMTP>> QUIT
>
>
--
Marina Uzhentseva
Andrey Voitenkov wrote:
>>> 250 Accepted
>> Вот эту часть надо повторить, только без кеша.
> ^^^^^^^^
>
> гм.... это и есть отгадка, мне кажется.
> интенсивный поток почты доводит ящики до Over quota,
> а кеш на callout'е продолжает пропускать письма в локальную очередь.
>
>
О, похоже на ценную идею. Премного благодарна, буду играться со временем
жизни коллаут-кэша
>> Тут не видно самого интересного - вызова lmtp, должно быть что-то такое:
>>
>> >>> Attempting full verification using callout
>> >>> callout cache: disabled by no_cache
>> >>> interface=NULL port=24
>> >>> Connecting to localhost.gyrus.kiev.ua [127.0.0.1]:24 ... connected
>> >>> SMTP<< 220 kanga.gyrus.kiev.ua LMTP Cyrus v2.2.13 ready
>> >>> SMTP>> LHLO mail.gyrus.kiev.ua
>> >>> SMTP<< 250-kanga.gyrus.kiev.ua
>> >>> 250-8BITMIME
>> >>> 250-ENHANCEDSTATUSCODES
>> >>> 250-PIPELINING
>> >>> 250-SIZE
>> >>> 250-AUTH EXTERNAL
>> >>> 250 IGNOREQUOTA
>> >>> SMTP>> MAIL FROM:<>
>> >>> SMTP<< 250 2.1.0 ok
>> >>> SMTP>> RCPT TO:<z...@gyrus.biz>
>> >>> SMTP<< 552 5.2.2 Over quota
>> >>> SMTP>> QUIT
>>
>>
>
>
--
Marina Uzhentseva
On Thu, 29 Nov 2007 at 17:09:27 (+0200), Marina Uzhentseva wrote:
> > гм.... это и есть отгадка, мне кажется.
> > интенсивный поток почты доводит ящики до Over quota,
> > а кеш на callout'е продолжает пропускать письма в локальную очередь.
> О, похоже на ценную идею. Премного благодарна, буду играться со временем
> жизни коллаут-кэша
imho, для таких получателей (которым почту не exim раскладывает) вообще
колауты кешировать не нужно (дабы избежать подобных ситуаций).
--
George L. Yermulnik
[YZ-RIPE]
IMO тут лучше попробовать совсем без него, и prefork=30 (и больше)
для lmtp в cyrus'е. С кешем на успешные callout'ы в любом случае
какая-то часть почты будет успевать проскочить в локальную очередь (а
может и создать еще бОльшую паразитную нагрузку, чем лишний callout).
--
mccloud@
George L. Yermulnik wrote:
>> О, похоже на ценную идею. Премного благодарна, буду играться со временем
>> жизни коллаут-кэша
>
> imho, для таких получателей (которым почту не exim раскладывает) вообще
> колауты кешировать не нужно (дабы избежать подобных ситуаций).
>
Спасибо всем, кто помог разобраться с ситуацией.
Поправила ACL для доменов cyrus добавлением no_cache
accept domains = +cyrus_domains
endpass
message = User unknown
verify = recipient/callout=random,60s,no_cache
--
Marina Uzhentseva