Bug 7923 - Настройка по умолчанию по обработке relay
Summary: Настройка по умолчанию по обработке relay
Status: CLOSED WONTFIX
Alias: None
Product: Sisyphus
Classification: Development
Component: postfix (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Gleb F-Malinovskiy
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-11 19:54 MSD by Vitaly Lipatov
Modified: 2008-02-25 22:17 MSK (History)
7 users (show)

See Also:


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

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2005-09-11 19:54:21 MSD
1. В настройке по умолчанию, если указанный явно relay 
отвергает письма, то они выкидываются даже без сообщения отправителю. 
 
2. Если relay не указан явно, и postfix стучится напрямую, и у него 
не принимают письмо, то он так и пытается отправить, ничего никому не говоря. 
 
Предлагается внести настройки, чтобы 
а) по п. 1 не выкидывать сообщения 
б) в обоих случаях сообщать администратору. 
 
А также подсказать мне, как удалить сообщения, застрявшие в deffered :)
Comment 1 Dmitry V. Levin 2005-09-11 22:01:30 MSD
1. Сходу неочевидно, надо подумать.
2. Не понял проблемы, просьба переформулировать.
3. См. postsuper(1).
Comment 2 Vitaly Lipatov 2005-09-11 22:45:28 MSD
(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 Vladimir V. Kamarzin 2005-09-12 05:23:35 MSD
> > 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 Vladimir V. Kamarzin 2005-09-12 05:26:35 MSD
> 1. В настройке по умолчанию, если указанный явно relay 
> отвергает письма, то они выкидываются даже без сообщения отправителю. 

Вы точно уверены? Если письмо отвергнуто релеем с кодом 550 (перманентная ошибка
доставки), таки отправитель получает bounce.
Comment 5 Vitaly Lipatov 2005-09-12 10:12:18 MSD
(In reply to comment #3)  
> Это регулируется параметром delay_warning_time  
Вы уверены что его не нужно поставить в значение 4h ?  
  
> Вы точно уверены? Если письмо отвергнуто релеем с кодом 550 (перманентная 
ошибка доставки), таки отправитель получает bounce. 
 
Наверное дело в том, что отправитель имеет другой домен (к примеру человек 
пишет, указывая во From: @altlinux.ru, соответственно _ему_ bounce не 
доставить. 
 
Comment 6 Vladimir V. Kamarzin 2005-09-12 10:24:37 MSD
> > Это регулируется параметром 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 Andrey Rahmatullin 2005-09-12 15:12:23 MSD
Логи убил logrotate, но неоднократно было, что мой postfix получал на том же 
smtp.mail.ru 55x и пытался отправить мне как отправителю (на xxxxx@mail.ru) 
отлуп, соответственно, все через тот же smtp.mail.ru. Опять получал 55х, 
отправлять отлуп было уже некому, и о потерявшемся письме я узнавал из логов. 
Руками.
Comment 8 Vladimir V. Kamarzin 2005-09-13 05:48:56 MSD
> отлуп, соответственно, все через тот же smtp.mail.ru. Опять получал 55х, 
> отправлять отлуп было уже некому, и о потерявшемся письме я узнавал из логов.

С помощью параметра notify_classes (bounce/2bounce) можно включить уведомление
постмастера о недоставленных сообщениях.
Comment 9 Dmitry V. Levin 2005-10-08 01:52:58 MSD
Короче говоря, что вы хотите от пакета postfix?
Comment 10 Vitaly Lipatov 2005-10-08 20:33:15 MSD
(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 Dmitry V. Levin 2006-02-02 06:21:22 MSK
Между прочим, эпизод с выкидыванием писем в случае если указанный явно relay
отвергает письма у меня пока не воспроизвёлся.
Comment 12 Vitaly Lipatov 2006-02-04 16:04:55 MSK
У меня уже нет отвергающего сервера, я тоже проверить не могу. Давайте забудем 
про это. 
Comment 13 Vitaly Lipatov 2006-02-09 20:57:22 MSK
Вот, поймал без проблем. Письмо выкинуто без вопросов. Если хотите, можете 
тоже попробовать с 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 Dmitry V. Levin 2006-02-09 21:11:03 MSK
Created attachment 1381 [details]
postfix.log

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

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

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

> Если моя гипотеза верна, то у вас у всех local misconfiguration.
В чем оно заключается? И почему оно такое по умолчанию?
Comment 19 Vladimir V. Kamarzin 2006-02-17 23:10:25 MSK
(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 Dmitry V. Levin 2006-02-17 23:37:19 MSK
2wrar: local misconfiguration заключается в том, что relay'ить отлупы через тот
же relay не очень разумно.

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

Я не совсем понимаю, почему мою (и не только) почти дефолтную настройку postfix 
обзывают local misconfiguration, как будто я сам себе так сделал, чтобы отлупы 
не ходили.
Comment 23 Dmitry V. Levin 2006-02-18 16:31:39 MSK
2wrar: Почти не считается.  Если relayhost не готов принимать все ваши письма,
то надо позаботиться о более подходящем транспорте.
Comment 24 Dmitry V. Levin 2007-02-15 04:16:38 MSK
(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 Michael Shigorin 2007-02-15 13:01:31 MSK
(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 Vitaly Lipatov 2008-01-08 13:39:03 MSK
Разыскивается то ли консиквенс, то ли консенсус.
Comment 27 Vladimir V. Kamarzin 2008-01-09 12:27:13 MSK
Текущий main.cf мне нравится. Если кто-то хочет видеть расширенный main.cf, его
можно класть рядом с основным в качестве примера. Или в /usr/share/doc, где оно
более уместно.
Comment 28 Vitaly Lipatov 2008-01-09 22:43:48 MSK
Я могу конечно к каждому пакету соорудить свои умолчания рядом, но какой в 
этом смысл обществу?
Есть профессионалы, которые и в пустой main.cf допишут нужное,
а есть люди, которым всего лишь в установленный по умолчанию и работающий 
postfix нужно внести исправление по лимиту.
А по поводу текущего main.cf - так ведь postfix из коробки совершенно не 
приспособлен к реальной жизни, в реальном почтовом мире. Поставь его по 
умолчанию на сервер, и 5 тысяч писем спама в день будет пропускаться на ура :)

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

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