Собственно, сабж. Был старенький экзим и первый довкот+квоты. Экзим обновил до последнего довкот до второго, после чего в warn_message перестали писаться причины локальной недостави по причине квоты. Вместо причины - local delivery failed и все. При том если в транспорте поменять return_fail_output на return_output, то шлется не warn_message по истечению некоторого времени в очереди, а сразу рекошет. Где причина уже присутствует. При этом всем если запустить деливер руками, то на stderr ошибка выводится, и в логах экзима она присутствует как ответ деливера.
Что-то поменяли или косяк?
return_fail_output + local delivery failed
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- ст. прапорщик
- Сообщения: 501
- Зарегистрирован: 2007-10-18 13:42:48
- Откуда: Тверь
- Контактная информация:
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Alex Keda
- стреляли...
- Сообщения: 35420
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: return_fail_output + local delivery failed
логи чтоле покажите..
не говоря уже о конфигурации логгирования
не говоря уже о конфигурации логгирования
Убей их всех! Бог потом рассортирует...
-
- ст. прапорщик
- Сообщения: 501
- Зарегистрирован: 2007-10-18 13:42:48
- Откуда: Тверь
- Контактная информация:
Re: return_fail_output + local delivery failed
Да, извиняюсь. Просто под рукой не было конфигов уже.
Вот транспорт
В доках http://www.exim.org/exim-html-current/d ... /ch29.html
При том, если раскоментить return_output, то сообщение удаляется из очереди и шлется bounce message с причиной недоставки - превышение квоты. А если return_fail_output, то шлется warn message, сообщение остается в очереди но в причинах - local delivery failed без объяснения причин.
При этом в логах экзима
Вот транспорт
Код: Выделить всё
dovecot_delivery:
driver = pipe
command = /usr/local/libexec/dovecot/dovecot-lda -e -d $local_part@$domain
message_prefix =
temp_errors = 75
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
return_fail_output
# return_output
user = mailnull
- If the command exits with a non-zero return code, the delivery is deemed to have failed, unless either the ignore_status option is set (in which case the return code is treated as zero), or the return code is one of those listed in the temp_errors option, which are interpreted as meaning “try again later”. In this case, delivery is deferred. Details of a permanent failure are logged, but are not included in the bounce message, which merely contains “local delivery failed”.
The return_output option can affect the result of a pipe delivery. If it is set and the command produces any output on its standard output or standard error streams, the command is considered to have failed, even if it gave a zero return code or if ignore_status is set. The output from the command is included as part of the bounce message. The return_fail_output option is similar, except that output is returned only when the command exits with a failure return code, that is, a value other than zero or a code that matches temp_errors.
return_fail_output Use: pipe Type: boolean Default: false
If this option is true, and the command produced any output and ended with a return code other than zero or one of the codes listed in temp_errors (that is, the delivery failed), the output is returned in the bounce message. However, if the message has a null sender (that is, it is itself a bounce message), output from the command is discarded. This option and return_output are mutually exclusive. Only one of them may be set.
При том, если раскоментить return_output, то сообщение удаляется из очереди и шлется bounce message с причиной недоставки - превышение квоты. А если return_fail_output, то шлется warn message, сообщение остается в очереди но в причинах - local delivery failed без объяснения причин.
При этом в логах экзима
Т.е. довкот отрабатывает более-менее корректно.2011-02-13 23:59:39 1Poj2h-000Puv-Gs <sav@mydomain.ru>: dovecot_delivery transport output: Quota for this mailbox exceeded
2011-02-13 23:59:39 1Poj2h-000Puv-Gs ** sav@mydomain.ru (sav@russvet.ru) <root@mydomain.ru> R=dovecot_user T=dovecot_delivery: Child process of dovecot_delivery transport returned 75 (could mean temporary error) from command: /usr/local/libexec/dovecot/dovecot-lda
-
- ст. прапорщик
- Сообщения: 501
- Зарегистрирован: 2007-10-18 13:42:48
- Откуда: Тверь
- Контактная информация:
Re: return_fail_output + local delivery failed
Никто ничо не понял или решения нет?:)
Есть хоть у кого похожая схема со старым довкотом или экзимом, что б проверить?
Есть хоть у кого похожая схема со старым довкотом или экзимом, что б проверить?
- Alex Keda
- стреляли...
- Сообщения: 35420
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: return_fail_output + local delivery failed
деливер дебажте
он напишет в чём причина
он напишет в чём причина
Убей их всех! Бог потом рассортирует...
-
- ст. прапорщик
- Сообщения: 501
- Зарегистрирован: 2007-10-18 13:42:48
- Откуда: Тверь
- Контактная информация:
Re: return_fail_output + local delivery failed
Похоже, не сильно понятно описал проблему. Тест.
Квота для ящика test@mydomain.ru заполнена. Проверяем (пишу руками по пямяти, поэтому возможны некоторые неточности)
Теперь отправляем письмо снаружи. И получается 2 варианта.
1. В транспорте return_output. При попытке доставки через довкот превышение квоты воспринимается как ?постоянная? ошибка, письмо из очереди удаляется, шлется рекошет с текстом "Quota for this mailbox exceeded". Тут все нормально.
2. В транспорте return_fail_output. При попытке доставки через довкот превышение квоты воспринимается как ?временная? ошибка, письмо остается в очереди, но по истечении заданного промежутка времени шлется warn_message, где причина недоставки - "local delivery failed". При этом из текста с поста сверху, который из доков, return_fail_output как бы косвенно подразумевает включение причины в ответ. И в логах причина есть:
Вопрос, почему она не включается, а шлется просто "local delivery failed"? На первой версии довкота и чуть старее экзиме отсылал причину. Дело,думаю, не в бобине, т.е. не в довкоте, т.к. он и по логам экзима отвечает нормально, и в ручном режиме. В то же время, в чейнджлогах экзима не нашел каких-либо изменений касательно этой темы... Может, не так искал конечно...
как-то так..
Квота для ящика test@mydomain.ru заполнена. Проверяем (пишу руками по пямяти, поэтому возможны некоторые неточности)
Код: Выделить всё
[list]#cat big_file | deliver -e -d test@mydomain.ru
Quota for this mailbox exceeded
#[/list]
1. В транспорте return_output. При попытке доставки через довкот превышение квоты воспринимается как ?постоянная? ошибка, письмо из очереди удаляется, шлется рекошет с текстом "Quota for this mailbox exceeded". Тут все нормально.
2. В транспорте return_fail_output. При попытке доставки через довкот превышение квоты воспринимается как ?временная? ошибка, письмо остается в очереди, но по истечении заданного промежутка времени шлется warn_message, где причина недоставки - "local delivery failed". При этом из текста с поста сверху, который из доков, return_fail_output как бы косвенно подразумевает включение причины в ответ. И в логах причина есть:
Код: Выделить всё
[list]2011-02-13 23:59:39 1Poj2h-000Puv-Gs <test@mydomain.ru>: dovecot_delivery transport output: Quota for this mailbox exceeded
2011-02-13 23:59:39 1Poj2h-000Puv-Gs ** test@mydomain.ru (test@russvet.ru) <test@mydomain.ru> R=dovecot_user T=dovecot_delivery: Child process of dovecot_delivery transport returned 75 (could mean temporary error) from command: /usr/local/libexec/dovecot/dovecot-lda[/list]
как-то так..