ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
From: Michael Shigorin <mike@osdn.org.ua>
To: ALT Linux sysadmin discuss <sysadmins@lists.altlinux.org>
Subject: [Sysadmins] fetchmail+multidrop или см. аттачи
Date: Thu, 30 Nov 2006 19:50:21 +0200
Message-ID: <20061130175021.GR4051@osdn.org.ua> (raw)
In-Reply-To: <200611301919.45957.ave4600@mail.ru>

[-- 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
}

  reply	other threads:[~2006-11-30 17:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-30 17:19 [Sysadmins] Почта. Хочется странного Alexander Yereschenko
2006-11-30 17:50 ` Michael Shigorin [this message]
2006-12-01 12:07   ` [Sysadmins] fetchmail+multidrop или см. аттачи Alexander Yereschenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061130175021.GR4051@osdn.org.ua \
    --to=mike@osdn.org.ua \
    --cc=shigorin@gmail.com \
    --cc=sysadmins@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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