ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
* [Sysadmins] Почта. Хочется странного...
@ 2006-11-30 17:19 Alexander Yereschenko
  2006-11-30 17:50 ` [Sysadmins] fetchmail+multidrop или см. аттачи Michael Shigorin
  0 siblings, 1 reply; 3+ messages in thread
From: Alexander Yereschenko @ 2006-11-30 17:19 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

Доброе!

Ситуация такая: есть у меня организация со своим доменом (типа 
mydomen.gov.ua), подчиненная вешестоящей. Вышестоящая складывает всю почту на 
мой домен в почтовый ящик типа org@domen.gov.ua. К моему почтовому серверу 
доступа из инета нет (так надо), т.е. стоит себе в локальной сети за 
фаерволом. Раньше раскидыванием почты по локальным ящикам занимался Kerio 
Mailserver под вин. В связи с переездом машинки под линукс встала проблема 
замены. Поднят постфикс на прием почты для mydomen.gov.ua (как для локальных 
пользователей - там их всего десяток, поэтому с виртуальными юзерами в базе 
не возился). Все красиво работает - письма в пределах моего домена бегают, 
остальные честно уходят, куда надо. Осталась проблема раскидывания почты, 
принятой с org@domen.gov.ua по протоколу pop3, по локальным ящикам. 
Попробовал вытягивать fethmail и скармливать постфиксу... Но что-то он все 
скидывает пользователю, от которого запускался fetchmail (напр. admin).
( В письмах присутствуют поля To: user1@mydomen.gov.ua )
Содержимое .fetchmailrc :
poll domen.gov.ua protocol pop3 username "org" password "pass"
Пробовал вариант:
poll domen.gov.ua protocol pop3 username "org" password "pass" to *  here
Не помогло - скидывается локальному юзеру org
Чтение man fetchmail и пробование вариантов должного результата не дает... 
Видимо не там или не так читаю... :)

Как все-таки это сделать правильно? Как раскидать по локальным ящикам в 
зависимости от содержимого поля "To: " 
Кстати, при этом игнорировать в этом поле адреса не из своего домена, дабы не 
плодить дупы.


ЗЫ. Конечно, правильнее всего - это vpn внутри всей организации и нормальное 
хождение почты между почтовыми серверами... Но пока увы по различным причинам 
нереализуемо. 

-- 

Alexander

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Sysadmins] fetchmail+multidrop или см. аттачи
  2006-11-30 17:19 [Sysadmins] Почта. Хочется странного Alexander Yereschenko
@ 2006-11-30 17:50 ` Michael Shigorin
  2006-12-01 12:07   ` Alexander Yereschenko
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Shigorin @ 2006-11-30 17:50 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

[-- Attachment #1: Type: text/plain, Size: 1796 bytes --]

On Thu, Nov 30, 2006 at 07:19:45PM +0200, Alexander Yereschenko wrote:
> Попробовал вытягивать fethmail и скармливать постфиксу... Но
> что-то он все скидывает пользователю, от которого запускался
> fetchmail (напр. admin).

Лучше для такого применять совсем непривилегированного
пользователя, у которого шелл -- максимум /bin/rbash.

> ( В письмах присутствуют поля To: user1@mydomen.gov.ua )
> Содержимое .fetchmailrc :
> poll domen.gov.ua protocol pop3 username "org" password "pass"
> Пробовал вариант:
> poll domen.gov.ua protocol pop3 username "org" password "pass" to *  here
> Не помогло - скидывается локальному юзеру org
> Чтение man fetchmail и пробование вариантов должного результата не дает... 
> Видимо не там или не так читаю... :)

Насколько помню, Вам от fetchmail нужен multidrop, хотя последний
раз, как с таким сталкивался -- был нарисован позорный
.procmailrc на десяток пользователей, которые были (точнее,
два скрипта для заведения и удаления почтовых пользователей,
которые делали нужные изменения и в нём).

Ух ты, даже нашлись в загашнике :)

> Как все-таки это сделать правильно? Как раскидать по локальным
> ящикам в зависимости от содержимого поля "To: " 
> Кстати, при этом игнорировать в этом поле адреса не из своего
> домена, дабы не плодить дупы.

А они тоже валятся?  Тогда модифицируйте болвань .procmailrc
из этих скриптов или /etc/procmailrc (или конфигурацию postfix
в р-не access или header_checks), чтобы их дискардить.

> ЗЫ. Конечно, правильнее всего - это vpn внутри всей организации
> и нормальное хождение почты между почтовыми серверами... Но
> пока увы по различным причинам нереализуемо. 

Бывает.  Если что -- пишите, звоните (234-7560), поможем.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/

[-- Attachment #2: adduser.pop3 --]
[-- Type: text/plain, Size: 714 bytes --]

#!/bin/bash

USER="$1"
DOMAIN=XXXXXXX.kiev.ua
GROUP=popusers
DIR=/dev/null
SHELL=/dev/null

PREFIX=/usr/local
POP3LIST=$PREFIX/lib/users.pop3

POP3USER=pop3
POP3DIR=/home/$POP3USER
PROCMAILRC=$POP3DIR/.procmailrc

[ $# = 0 ] && {
	echo "Usage: $0 pop3-login-name" >&2
	exit 1
}

[ ! -d $POP3DIR ] && {
	echo -n "Creating '$POP3USER' account... "
	useradd -m -k /dev/null -s /dev/null $POP3USER && echo "done."
	touch $POP3DIR/.fetchmailrc
}

grep -q "^$USER$" $POP3LIST && {
	echo "User '$USER' already exists in $POP3LIST." >&2
	exit 2
}

grep -q "^$GROUP" /etc/group || addgroup -g $GROUP

. $PREFIX/lib/procmailrc.sh

echo "$USER" >> $POP3LIST
useradd -d $DIR -M -s $SHELL -g GROUP $USER

rebuild_promailrc ()


[-- Attachment #3: deluser.pop3 --]
[-- Type: text/plain, Size: 355 bytes --]

#!/bin/bash2

USER="$1"

PREFIX=/usr/local
POP3LIST=$PREFIX/lib/users.pop3
TMP=`mktemp $PREFIX/tmpXXXXXX.pop3`

POP3USER=pop3
POP3DIR=/home/$POP3USER
PROCMAILRC=$POP3DIR/.procmailrc

[ $# = 0 ] && exit 1

. $PREFIX/lib/procmailrc.sh

userdel $USER && grep -v "^$USER$" $POP3LIST > $TMP || exit 2

cat $TMP > $POP3LIST && rm -f $TMP

rebuild_promailrc ()


[-- Attachment #4: procmailrc.sh --]
[-- Type: text/plain, Size: 345 bytes --]

#/bin/bash2

rebuild_procmailrc () {
	[ -z "$PROCMAILRC" ] && exit 3
	cat $1 | while read i; do
		echo ":0:	# POP3 user \'$USER\'" >> $PROCMAILRC.main
		echo "* ^TO.*$USER@$DOMAIN" >> $PROCMAILRC.main
		echo "! $USER" >> $PROCMAILRC.main
		echo >> $PROCMAILRC.main
	done
	cat $PROCMAILRC.{head,main,tail} > $PROCMAILRC
	rm -f $PROCMAILRC.main
}

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Sysadmins] fetchmail+multidrop или см. аттачи
  2006-11-30 17:50 ` [Sysadmins] fetchmail+multidrop или см. аттачи Michael Shigorin
@ 2006-12-01 12:07   ` Alexander Yereschenko
  0 siblings, 0 replies; 3+ messages in thread
From: Alexander Yereschenko @ 2006-12-01 12:07 UTC (permalink / raw)
  To: ALT Linux sysadmin discuss

В сообщении от 30 Ноябрь 2006 19:50 Michael Shigorin написал(a):

> > Как все-таки это сделать правильно? Как раскидать по локальным
> > ящикам в зависимости от содержимого поля "To: "
> > Кстати, при этом игнорировать в этом поле адреса не из своего
> > домена, дабы не плодить дупы.
>
> А они тоже валятся?  Тогда модифицируйте болвань .procmailrc
> из этих скриптов или /etc/procmailrc (или конфигурацию postfix
> в р-не access или header_checks), чтобы их дискардить.

Не, не валятся. Это я заранее проблему обозначил... :)

>   Если что -- пишите, звоните (234-7560), поможем.

Спасибо, помогло, все заработало. В сторону procmail я-то и не удосужился 
тогда посмотреть.

-- 

Alexander

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-12-01 12:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-11-30 17:19 [Sysadmins] Почта. Хочется странного Alexander Yereschenko
2006-11-30 17:50 ` [Sysadmins] fetchmail+multidrop или см. аттачи Michael Shigorin
2006-12-01 12:07   ` Alexander Yereschenko

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git