From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3E8A5A9B.90302@amur.ru> Date: Wed, 02 Apr 2003 13:35:55 +1000 From: metrol@amur.ru User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru-RU; rv:1.3) Gecko/20030309 X-Accept-Language: ru, ru-ru, en MIME-Version: 1.0 To: community@altlinux.ru Subject: Re: [Comm] virtual mail domain References: <3E8A3766.6080600@amur.ru> <20030402134811.1d15957e.dima@sakhalin.ru> In-Reply-To: <20030402134811.1d15957e.dima@sakhalin.ru> X-Enigmail-Version: 0.73.1.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit Sender: community-admin@altlinux.ru Errors-To: community-admin@altlinux.ru X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: community@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: Dmitry Lebkov пишет: >>Создал виртуальный почтовый домен в такой связке: >>Postfix + Courier-imap + Maildrop-userdb. >>Делал по maildrop.README-ALT. >>Все прекрасно работает, пока дело не дошло до несуществующих >>пользователей в этом виртуальном домене. >>Письма для них болтаются в очереди postfix'а, mailq показывает: >> >>-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- >>1876DF0146 675 Wed Apr 2 10:36:43 test@virtual.ru >>(temporary failure. Command output: /usr/bin/maildrop-userdb: Invalid >>user specified. ) >> test1@virtual.ru >> >>Подскажите как сделать, чтобы для таких зверей почта пересылалась на >>существующего пользователя? >> >> > >На вскидку, три варианта: %) > >1. Патчить maildrop на предмет exit code в случае отсутствия пользователя, > для которого доставляется почта. Сейчас maildrop возвращает EX_TEMPFAIL. > В твоем случае - необходимо EX_NOUSER. Патч, корректирующий поведение > maildrop, лежит здесь: > >http://www-dt.e-technik.uni-dortmund.de/~ma/postfix/fix-maildrop-NO_USER.diff > > > Это отпадает, причину отписал сам. Вдруг на ldap или на MySQL нужно будет делать. >2. Настроить почтовый сервер таким образом, чтоб он _не принимал_ почту > для несуществующих адресов. > >Т.к. у тебя пользователи в userdb, то можно попытаться использовать этот самый >/etc/courier-imap/userdb.db как postfix map. Если maildrop-userdb у тебя описан >как транспорт maildrop, то тебе должно помочь что-то типа: > >maildrop_recipient_map = hash:/etc/courier-imap/userdb > >Подробности - в доках postfix'а, в районе local_recipient_map. > > В этом случае сообщения будут отвергаться, если юзера нет в мапе. Но пригодится на будующее. >3. Попытаться Написать общесистемный maildroprc, обрабатывающий данную ситуацию. > См. man maildropfilter. > >Про этот метод я знаю, что он существует и является довольно универсальным >инструментом. Но сам я никогда не пытался решить подобную задачу с помощью >общесистемного maildroprc. %) > Значить этот вариант надо брать за основу.