Bug 8194

Summary: Странные пропадания почты при локальной доставке
Product: Sisyphus Reporter: Sergei Epiphanov <serpiph>
Component: postfixAssignee: Gleb F-Malinovskiy <glebfm>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: glebfm, ldv
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
"Разговоры" почтовика none

Description Sergei Epiphanov 2005-10-12 00:28:20 MSD
В настройках postfix имею параметр
mailbox_command = /usr/bin/procmail -a $DOMAIN -d $LOGNAME

Есть пользователи (к примеру) user1 и user2. Для user2 в /etc/postfix/aliases
есть alias:

user3: user2

На сервер приходит письмо, в котором (судя по письму):
To: user3
Cc: user1

В логах postfix сообщает о том, что пропускает почту через себя, конвертирует
user3 в user2 и направляет письмо через procmail сначала user1, затем user2, о
чём и пишет "250 sent" для каждого получателя. Однако до user2 письмо так и не
дошло. Причём это проявляется не постоянно, как как-то плавающе (если просто
послать на user3 письмо, то оно приходит). В аттач приложу что говорит postfix.
Steps to Reproduce:
Даже не знаю, что приводит к этому.
Actual Results:  
Пропавшее письмо

Expected Results:  
Все письма доходят.
Comment 1 Sergei Epiphanov 2005-10-12 00:34:24 MSD
Created attachment 1175 [details]
"Разговоры" почтовика

В аттаче приведены все логи postfix, касающиеся данного потерянного письма.
Письмо пришло (пусть) с from@agori.com и направлялось на user1@warelex.com и
user3@warelex.com. На user1@warelex.com пришло, на user2@warelex.com
(user3->user2 через alias)- нет.
Comment 2 Sergei Epiphanov 2005-10-12 00:42:59 MSD
Возможно, есть подозрение на mailbox_unpriv_delivery. Что когда есть alias, то
при поытке доставить письмо сразу в несколько мест, то он берёт разрешения для
первого пользователя и лезет с ними ко второму, из-за чего procmail получает
отлуп, но ничего не говорит, так как в procmail всё пришло, а сам procmail
ничего не может запротоколировать.
Comment 3 Dmitry V. Levin 2005-10-12 19:42:44 MSD
Параметр mailbox_unpriv_delivery влияет только на локальную доставку прямо в
файл, а не в mailbox_command.

Вы уверены, что почта не теряется уже после запуска mailbox_command?
Comment 4 Sergei Epiphanov 2005-10-12 23:11:51 MSD
(In reply to comment #3)
> Параметр mailbox_unpriv_delivery влияет только на локальную доставку прямо в
> файл, а не в mailbox_command.
> 
> Вы уверены, что почта не теряется уже после запуска mailbox_command?

То бишь procmail её теряет? Но эта настройка mailbox_command идёт "из
коробки"... Есть два варианта:

1) Потеря почты самим procmail
2) Невозможность доставить почту из-за отсутствия прав у procmail (не те права
euid/egid при доставке почты сразу нескольким адресатам)
3) postfix не передаёт ту почту, которую должен передать, а просто закрывает
соединение с procmail.
Comment 5 Sergei Epiphanov 2005-10-12 23:12:46 MSD
(In reply to comment #3)
> Параметр mailbox_unpriv_delivery влияет только на локальную доставку прямо в
> файл, а не в mailbox_command.
> 
> Вы уверены, что почта не теряется уже после запуска mailbox_command?

То бишь procmail её теряет? Но эта настройка mailbox_command идёт "из
коробки"... Есть три варианта:

1) Потеря почты самим procmail
2) Невозможность доставить почту из-за отсутствия прав у procmail (не те права
euid/egid при доставке почты сразу нескольким адресатам)
3) postfix не передаёт ту почту, которую должен передать, а просто закрывает
соединение с procmail.
Comment 6 Sergei Epiphanov 2005-10-13 00:13:29 MSD
Нашёл, тут postfix с procmail ни при чём. Или courier-imap в роли POP3, или
Outlook от Microsoft.
Comment 7 Sergei Epiphanov 2005-10-13 00:20:26 MSD
Либо третье лицо.