Bug 7923 - Настройка по умолчанию по обработке relay
: Настройка по умолчанию по обработке relay
Status: CLOSED WONTFIX
: Sisyphus
(All bugs in Sisyphus/postfix)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2005-09-11 19:54 by
Modified: 2008-02-25 22:17 (History)


Attachments
postfix.log (1.69 KB, text/plain)
2006-02-09 21:11, Dmitry V. Levin
no flags Details
postfix log (934 bytes, text/plain)
2006-02-17 18:48, kirill
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-09-11 19:54:21
1. В настройке по умолчанию, если указанный явно relay 
отвергает письма, то они выкидываются даже без сообщения отправителю. 

2. Если relay не указан явно, и postfix стучится напрямую, и у него 
не принимают письмо, то он так и пытается отправить, ничего никому не говоря. 

Предлагается внести настройки, чтобы 
а) по п. 1 не выкидывать сообщения 
б) в обоих случаях сообщать администратору. 

А также подсказать мне, как удалить сообщения, застрявшие в deffered :)
------- Comment #1 From 2005-09-11 22:01:30 -------
1. Сходу неочевидно, надо подумать.
2. Не понял проблемы, просьба переформулировать.
3. См. postsuper(1).
------- Comment #2 From 2005-09-11 22:45:28 -------
(In reply to comment #1) 
> 1. Сходу неочевидно, надо подумать. 
Могу привести лог. Мы с kirill@ потеряли несколько десятков писем, пока 
заметили, что relay нас отшивает. 
 
> 2. Не понял проблемы, просьба переформулировать. 
Конкретный пример: наш сервер не имеет обратной зоны. Пытаем отправить письмо, 
и получаем: 
postfix/smtp[2820]: 80AB956CBE: to=<isp-list@altlinux.org.ua>, 
relay=relay.altlinux.org.ua[212.40.36.150], delay=235367, status=deferred 
(host relay.altlinux.org.ua[212.40.36.150] said: 450 Client host rejected: 
cannot find your hostname, [82.179.107.110] (in reply to RCPT TO command)) 
 
При этом письмо не выбрасывается, но и сообщений никому не приходит. 
 
> 3. См. postsuper(1). 
Огромное спасибо! 
 
------- Comment #3 From 2005-09-12 05:23:35 -------
> > 2. Не понял проблемы, просьба переформулировать. 
> Конкретный пример: наш сервер не имеет обратной зоны. Пытаем отправить письмо, 
> и получаем: 
> postfix/smtp[2820]: 80AB956CBE: to=<isp-list@altlinux.org.ua>, 
> relay=relay.altlinux.org.ua[212.40.36.150], delay=235367, status=deferred 
> (host relay.altlinux.org.ua[212.40.36.150] said: 450 Client host rejected: 
> cannot find your hostname, [82.179.107.110] (in reply to RCPT TO command)) 
>  
> При этом письмо не выбрасывается, но и сообщений никому не приходит. 

Это регулируется параметром delay_warning_time
------- Comment #4 From 2005-09-12 05:26:35 -------
> 1. В настройке по умолчанию, если указанный явно relay 
> отвергает письма, то они выкидываются даже без сообщения отправителю. 

Вы точно уверены? Если письмо отвергнуто релеем с кодом 550 (перманентная
ошибка
доставки), таки отправитель получает bounce.
------- Comment #5 From 2005-09-12 10:12:18 -------
(In reply to comment #3)  
> Это регулируется параметром delay_warning_time  
Вы уверены что его не нужно поставить в значение 4h ?  
  
> Вы точно уверены? Если письмо отвергнуто релеем с кодом 550 (перманентная 
ошибка доставки), таки отправитель получает bounce. 
 
Наверное дело в том, что отправитель имеет другой домен (к примеру человек 
пишет, указывая во From: @altlinux.ru, соответственно _ему_ bounce не 
доставить. 
 
------- Comment #6 From 2005-09-12 10:24:37 -------
> > Это регулируется параметром delay_warning_time  
> Вы уверены что его не нужно поставить в значение 4h ?  

Лично я бы предпочёл, чтобы этот параметр фигурировал в конфиге, но в
закомментированном виде с кратким комментарием :) Например в дебиане:

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h


> Наверное дело в том, что отправитель имеет другой домен (к примеру человек 
> пишет, указывая во From: @altlinux.ru, соответственно _ему_ bounce не 
> доставить. 

Да, в логе должно быть что-то вроде undeliverable notification discarded.
------- Comment #7 From 2005-09-12 15:12:23 -------
Логи убил logrotate, но неоднократно было, что мой postfix получал на том же 
smtp.mail.ru 55x и пытался отправить мне как отправителю (на xxxxx@mail.ru) 
отлуп, соответственно, все через тот же smtp.mail.ru. Опять получал 55х, 
отправлять отлуп было уже некому, и о потерявшемся письме я узнавал из логов. 
Руками.
------- Comment #8 From 2005-09-13 05:48:56 -------
> отлуп, соответственно, все через тот же smtp.mail.ru. Опять получал 55х, 
> отправлять отлуп было уже некому, и о потерявшемся письме я узнавал из логов.

С помощью параметра notify_classes (bounce/2bounce) можно включить уведомление
постмастера о недоставленных сообщениях.
------- Comment #9 From 2005-10-08 01:52:58 -------
Короче говоря, что вы хотите от пакета postfix?
------- Comment #10 From 2005-10-08 20:33:15 -------
(In reply to comment #9)  
> Короче говоря, что вы хотите от пакета postfix?  
  
1. С помощью параметра notify_classes (bounce/2bounce) включить уведомление  
постмастера о недоставленных сообщениях.  
2.  Добавить 
# Generate "delayed mail" warnings 
delay_warning_time = 4h 
3. Добавить в закомментированном виде пределы на размер ящика и писем. 
#mailbox_size_limit = 351200000 
#message_size_limit = 20000000 
 
------- Comment #11 From 2006-02-02 06:21:22 -------
Между прочим, эпизод с выкидыванием писем в случае если указанный явно relay
отвергает письма у меня пока не воспроизвёлся.
------- Comment #12 From 2006-02-04 16:04:55 -------
У меня уже нет отвергающего сервера, я тоже проверить не могу. Давайте забудем 
про это. 
------- Comment #13 From 2006-02-09 20:57:22 -------
Вот, поймал без проблем. Письмо выкинуто без вопросов. Если хотите, можете 
тоже попробовать с mail.unnet.ru в качестве relay. 

Feb  9 20:54:00 server postfix/smtp[17929]: 63BD0467C3: to=<lav@etersoft.ru>, 
relay=mail.unnet.ru[87.249.46.180], del 
ay=0, status=bounced (host mail.unnet.ru[87.249.46.180] said: 553 sorry, that 
domain isn't in my list of allowed rcpt 
hosts (#5.7.1) (in reply to RCPT TO command)) 
Feb  9 20:54:00 server postfix/qmgr[8503]: 63BD0467C3: removed 
------- Comment #14 From 2006-02-09 21:11:03 -------
Created an attachment (id=1381) [details]
postfix.log

Попробовал, не воспроизвелось: bounce был мне отправлен.
------- Comment #15 From 2006-02-10 01:58:19 -------
(In reply to comment #14) 
> Created an attachment (id=1381) [edit] [details] 
> postfix.log 
>  
> Попробовал, не воспроизвелось: bounce был мне отправлен. 
Эксперимент проводился на postfix с конфигами по умолчанию? 
 
------- Comment #16 From 2006-02-17 18:48:02 -------
Created an attachment (id=1395) [details]
postfix log

Воспроизводится стабильно, bounce отправляется не 
c relay=local, а с relay={$relayhost}.

В конфиге main.cf изменялась единственная строка -- relayhost. 
------- Comment #17 From 2006-02-17 19:04:35 -------
2kirill: можно немного больше консекста привести (начиная с postfix/pickup)?
Мне кажется, что приведённый лог подтверждает мою гипотезу, что вы неправильно
трактуете то, что postfix пишет в лог.
Насколько я понимаю, у вас происходит следующее: когда relay заворачивает
письмо, postfix отправляет bounce, который relay тоже заворачивает.  Ну а
bounce
на bounce уже никто, конечно, отправлять не будет.
Если моя гипотеза верна, то у вас у всех local misconfiguration.
------- Comment #18 From 2006-02-17 22:01:17 -------
(In reply to comment #17)
> Насколько я понимаю, у вас происходит следующее: когда relay заворачивает
> письмо, postfix отправляет bounce, который relay тоже заворачивает.  Ну а 
bounce
> на bounce уже никто, конечно, отправлять не будет.
Ровно это я описывал в #7

> Если моя гипотеза верна, то у вас у всех local misconfiguration.
В чем оно заключается? И почему оно такое по умолчанию?
------- Comment #19 From 2006-02-17 23:10:25 -------
(In reply to comment #17)
> Если моя гипотеза верна, то у вас у всех local misconfiguration.

+1.

А чтобы народ больше не спотыкался о такое, предлагаю изменить значение по
умолчанию для параметра notify_classes. Сейчас оно
$ postconf -d notify_classes
notify_classes = resource, software

, т.о. предлагаю добавить туда 2bounce:

       2bounce
              Send undeliverable bounced mail to the postmaster. The notifica-
              tion    is    sent   to   the   address   specified   with   the
              2bounce_notice_recipient configuration parameter (default: post-
              master).
------- Comment #20 From 2006-02-17 23:37:19 -------
2wrar: local misconfiguration заключается в том, что relay'ить отлупы через тот
же relay не очень разумно.

2vvk: upstream не сделал этого, вероятно, потому что недоставленный bounce ещё
не признак ошибки; наиболее часто bounce не удаётся доставить, если это был
bounce на письмо, отправленное с несуществующего адреса (например, спам).
Так что я не уверен, что от включения по умолчанию 2bounce будет больше пользы
чем вреда.
------- Comment #21 From 2006-02-17 23:55:34 -------
2ldv: ну как сказать... если MTA настраивается администратором для работы в
продакшен, он это по-любому должен заметить :) Домашний же юзер не обязан знать
всех тонкостей работы MTA :) А коль у нас постфикс является дефолтным mta,
может
стоит таки немножко изменить умолчание?
------- Comment #22 From 2006-02-18 06:50:34 -------
(In reply to comment #20)
> 2wrar: local misconfiguration заключается в том, что relay'ить отлупы через 
тот
> же relay не очень разумно.

Я не совсем понимаю, почему мою (и не только) почти дефолтную настройку postfix 
обзывают local misconfiguration, как будто я сам себе так сделал, чтобы отлупы 
не ходили.
------- Comment #23 From 2006-02-18 16:31:39 -------
2wrar: Почти не считается.  Если relayhost не готов принимать все ваши письма,
то надо позаботиться о более подходящем транспорте.
------- Comment #24 From 2007-02-15 04:16:38 -------
(In reply to comment #10)
> (In reply to comment #9)  
> > Короче говоря, что вы хотите от пакета postfix?  
>   
> 1. С помощью параметра notify_classes (bounce/2bounce) включить уведомление  
> постмастера о недоставленных сообщениях.

Я не хочу этого делать по той причине, которую уже озвучивал.

> 2.  Добавить
> # Generate "delayed mail" warnings
> delay_warning_time = 4h

Я не буду этого добавлять, поскольку я не меняю значения по умолчанию с тех,
которые мне удобны, на те, которые мне неудобны.

> 3. Добавить в закомментированном виде пределы на размер ящика и писем.
> #mailbox_size_limit = 351200000
> #message_size_limit = 20000000

Я не хочу засорять рабочий main.cf комментариями.
В postfix-2.3.7-alt1 я вообще взял пример с Debian и переименовал прежний
main.cf в main.cf.dist, а на место main.cf положил файл совсем небольшого размера.
------- Comment #25 From 2007-02-15 13:01:31 -------
(In reply to comment #24)
> > 3. Добавить в закомментированном виде пределы на размер ящика и писем.
> > #mailbox_size_limit = 351200000
> > #message_size_limit = 20000000
> Я не хочу засорять рабочий main.cf комментариями.
Не, вот по этому пункту не согласен.  Неоднократно проверено, что эти два важных
параметра вовсе не очевидны в нахождении по документации (на разных людях за
несколько лет).

Дим, если не трудно -- эти добавь.

> В postfix-2.3.7-alt1 я вообще взял пример с Debian и переименовал прежний
> main.cf в main.cf.dist, а на место main.cf положил файл совсем небольшого размера.
Это хорошо, но тем более добавляет смысла важные вещи в .dist упомянуть.
------- Comment #26 From 2008-01-08 13:39:03 -------
Разыскивается то ли консиквенс, то ли консенсус.
------- Comment #27 From 2008-01-09 12:27:13 -------
Текущий main.cf мне нравится. Если кто-то хочет видеть расширенный main.cf, его
можно класть рядом с основным в качестве примера. Или в /usr/share/doc, где оно
более уместно.
------- Comment #28 From 2008-01-09 22:43:48 -------
Я могу конечно к каждому пакету соорудить свои умолчания рядом, но какой в 
этом смысл обществу?
Есть профессионалы, которые и в пустой main.cf допишут нужное,
а есть люди, которым всего лишь в установленный по умолчанию и работающий 
postfix нужно внести исправление по лимиту.
А по поводу текущего main.cf - так ведь postfix из коробки совершенно не 
приспособлен к реальной жизни, в реальном почтовом мире. Поставь его по 
умолчанию на сервер, и 5 тысяч писем спама в день будет пропускаться на ура :)

Впрочем, я отстраняюсь.
------- Comment #29 From 2008-01-11 18:28:12 -------
Хм... control?

или глупость сморозил?
------- Comment #30 From 2008-02-25 19:57:41 -------
Я в очередной раз потерял нить дискуссии.
Патчи на main.cf.dist приветствуются.
------- Comment #31 From 2008-02-25 22:17:48 -------
В общем в баге слишком много обсуждений, решения не видно,
чёткой проблемы тоже.
Для меня вопрос уже не актуален. Закрываю.