Postfix virtual user - emalcímre auto másolat

Adott egy email szerver Debian GNU/Linux 5.0
virtuális domainek és felhasználók.
Postfix, Courier, MySQL. A felhasználók a
MySQL szerveren természetesen, működik.

Most azt szeretnék, ha be lehetne állítani,
hogy bizonyos emailcímre érkező levelek egy
másik email címre is megérkezzenek automatikusan.
Amolyan szerveroldali automatikus titkos másolat.

Kérdésem, hogy merre induljak? A postfix konfigjában
van ilyen: always_bcc=xy, de ez nekem nem jó, mert
itt mindden levélről megy egy másolat, nem is igen
virtuális felhasználokhoz találták ki.

Csinált már valki ilyet? Vagy ötlet? Rtfm?

Egyik ötlet postfixhez egy filter írása, amit
azért elkerülnék, mert annyira nem lehet triviális. :)
(Talán)

Hozzászólások

apt-get install postfixadmin
:)
üdv: pomm

Kedves Pomm! A Debianban még az unstable ágban sincs postfixadmin (Ubuntuból van biztos), persze ettől még letöltöttem a sf.net-ről. Ez igen jó kis php felület a virtuális domainek és postafiókok adminisztrálásra. Viszont nem látok benne megoldást a fenti problémára. A cél az lenne, hogy egyik virtdomain, mondjuk 3 postafiókjának a levele egy 4-dik postafiókba _is_ landoljon. Aféle nagytestvér figyelés.

Tehát adott

joska@domain1.hu
pista@domain1.hu
mari@domain1.hu

Amit ők megkapnak, azt megkapja fonok@domain1.hu is.

A válaszod köszönöm szépen!

"Egyik ötlet postfixhez egy filter írása, amit
azért elkerülnék, mert annyira nem lehet triviális. :)"

Már van jópár filter, pl. a mailkdrop. Postfixnek meg tudod mondani, hogy a virtal transport mi legyen. Jelen esetben: main.cf: virtual_transport = maildrop

Utána már csak egy jó kis maildrop szabályt kell írni, hogy a megfelelő email címek esetén ne csak a címzettnek, hanem egy másik maildirbe is berakja a levelet.

szerk:
master.cf -be:

maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${user}@${nexthop} ${extension} ${recipient} ${user}@${nexthop} ${nexthop}

Utána a vmail user home-jába egy .mailfilter fájlba lehet a szabályt berakni.
Valami ilyesmi jó lesz (A $LOGNAME értéke a címzett email címe):

ARCHIVE="/data/mail/archive"

`test -f /data/mail/.mailfilters/$LOGNAME`
if ( $RETURNCODE == 0 )
{
if ( "${DEFAULT}" ne "" )
{
`test -d ${ARCHIVE}/.${LOGNAME}INBOX`
if ( ${RETURNCODE} gt 0 )
{
`maildirmake -f ${LOGNAME}INBOX ${ARCHIVE}`
`chmod -R 0700 "${ARCHIVE}/.${LOGNAME}INBOX"`
}
cc "${ARCHIVE}/.${LOGNAME}INBOX"
to "$DEFAULT"
}

}

Azon címek esetén, hol másolatot akarsz, kell egy: touch /data/mail/.mailfilters/user@domain.hu

Köszönöm a válaszokat. Arra nem gondoltam, hogy egy maildropot használjak ilyen szabályok beállításra. Arra gondoltam, hogy postfix filter írásánál, hogy konkrétan egy maildrop szerű valamit kell mondjuk C-ben írnom. De ez jó lesz. A fentebbi megoldások is érdekelnek. Beléjük ásom magam, addig is köszönöm a válaszokat!!!

Elmerültem a maildropban:

Telepítettem a courier-maildrop csomagot.
A main.cf végére írtam a következő sort:
virtual_transport = maildrop

a master.cf-be ide vonatkozó része:
#maildrop unix - n n - - pipe
# flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}

maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${user}@${nexthop} ${extension} ${recipient} ${user}@${nexthop} ${nexthop}

Ezek után az alábbiak alapján:
"Utána a vmail user home-jába egy .mailfilter fájlba lehet a szabályt berakni."
nem tudtam hirtelen hova is rakjam a .mailfilter fájlt, mivel a vmail
user ugye nem egy valós felhasználó. Egy kis manual olvasgatása után:
man maildrop
láttam, hogy lehetnek a szabályok a /etc/courier/maildroprc fájlban is.
Ezért oda írtam a fentiek alapján:

VERBOSE=8

ARCHIVE="/home/vmail/archive"

`test -f /home/vmail/.mailfilters/$LOGNAME`
if ($RETURNCODE == 0)
{
if ("${DEFAULT}" ne "")
{
`test -d ${ARCHIVE}/.${LOGNAME}INBOX`
if ( ${RETURNCODE} gt 0 )
{
`maildirmake -f ${LOGNAME}INBOX ${ARCHIVE}`
`chmod -R 0700 "${ARCHIVE}/.${LOGNAME}INBOX"`
}
cc "${ARCHIVE}/.${LOGNAME}INBOX"
to "$DEFAULT"
}
}

Hozzáadva még a VERBOSE=8 beállítást.

Nem csináltam a /home/vmail/.mailfilters/ könyvtárban egyetlen bejegyzést sem,
de egyenenlőre nem is akarok. Ha egyetlen bejegyzés sincs a leveleknek simán
meg kellene érkezniük ezzekkel a filter beállításokkal. De a levelek nem jönnek meg.
Ha kikommentezem main.cf-ben a virtual_transport-ot, akkor mennek a levelek,
ha visszateszem, akkor nem.

Ha virtula_transport be van kapcsolva, a
syslogban ez van egy levél érkezéséről:

Jul 3 22:20:48 murvaimuvek postfix/smtpd[20944]: connect from dave.interneteurope.eu[87.229.73.160]
Jul 3 22:20:48 murvaimuvek postfix/smtpd[20944]: setting up TLS connection from dave.interneteurope.eu[87.229.73.160]
Jul 3 22:20:48 murvaimuvek postfix/smtpd[20944]: Anonymous TLS connection established from dave.interneteurope.eu[87.229.73.160]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)
Jul 3 22:20:48 murvaimuvek postfix/smtpd[20944]: 11F482DC00BB: client=dave.interneteurope.eu[87.229.73.160]
Jul 3 22:20:48 murvaimuvek postfix/cleanup[20948]: 11F482DC00BB: message-id=<4A4E66C4.90501@freemail.hu>
Jul 3 22:20:48 murvaimuvek postfix/qmgr[20942]: 11F482DC00BB: from=, size=1239, nrcpt=1 (queue active)
Jul 3 22:20:48 murvaimuvek postfix/smtpd[20944]: disconnect from dave.interneteurope.eu[87.229.73.160]
Jul 3 22:20:58 murvaimuvek postfix/smtpd[20954]: connect from localhost[127.0.0.1]
Jul 3 22:20:58 murvaimuvek postfix/smtpd[20954]: 320802DC00BD: client=localhost[127.0.0.1]
Jul 3 22:20:58 murvaimuvek postfix/cleanup[20948]: 320802DC00BD: message-id=<4A4E66C4.90501@freemail.hu>
Jul 3 22:20:58 murvaimuvek postfix/smtpd[20954]: disconnect from localhost[127.0.0.1]
Jul 3 22:20:58 murvaimuvek amavis[19948]: (19948-17) Passed CLEAN, [87.229.73.160] [81.182.83.244] -> , Message-ID: <4A4E66C4.90501@freemail.hu>, mail_id: WGdxvGbgL+op, Hits: -1.811, size: 1239, queued_as: 320802DC00BD, 10140 ms
Jul 3 22:20:58 murvaimuvek postfix/smtp[20949]: 11F482DC00BB: to=, relay=127.0.0.1[127.0.0.1]:10024, delay=10, delays=0.03/0.01/0/10, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=19948-17, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 320802DC00BD)
Jul 3 22:20:58 murvaimuvek postfix/qmgr[20942]: 11F482DC00BB: removed
Jul 3 22:20:58 murvaimuvek postfix/qmgr[20942]: 320802DC00BD: from=, size=1671, nrcpt=1 (queue active)
Jul 3 22:20:58 murvaimuvek authdaemond: received userid lookup request: info@domain1.hu

Jul 3 22:20:58 murvaimuvek postfix/pipe[20956]: 320802DC00BD: to=, relay=maildrop, delay=0.14, delays=0.04/0.01/0/0.08, dsn=2.0.0, status=sent (delivered via maildrop service)
Jul 3 22:20:58 murvaimuvek postfix/qmgr[20942]: 320802DC00BD: removed

A logból látszik, hogy a from dave.interneteurope.eu SMTP szervert használva akarok a
levélben egy testuser@freemail.hu feladóval küldeni levelet az info@domain1.hu címre.
Úgy tűnik, a maildrop megkapja a levelet. De levél egy sem jön, vagyis a
maildrop nem továbbítja a címzethez az info@domain1.hu címre.

Ha main.cf be kiveszem a virtual_transport beállítást, akkor a levelek rendben
mennek. Ez van az össze virtuális email címmel.

Van valakinek ezek után ötlete?

sima virtualusertable esetén ez így nézne ki:


idekuldtek_a_levelet@domain.tld  kapja_user1 kapja_user2 kapja_user3@masikszerver.tld

_feltételezem_, hogy az sql vagy text nem releváns különbség.

Igen, így műkszik. Csak az nem jutott eszembe, hogy egymás után több e-amail címet írjak.

MySQL-ben veszővel elválasztva működik:

INSERT ... ('idekludtek@domain.tld', 'idekuldtek@domain.tld, oiskpja@domain.tld')

Köszönöm a hozzászólást!

Bár azért kíváncsi lennék, a maildorpos megoldás miért nem működik.

"kíváncsi lennék, a maildorpos megoldás miért nem működik."

Igaz hogy nincs postfixadmin csomag, de nem megoldhatatlan.

http://www200.pair.com/mecham/spam/virtualp1.html#admin

http://www200.pair.com/mecham/spam/virtual.html

Nekem a doksi alapján műxik a kis szerverkém.
Azóta lenny-re upgradeltem, zökkenő nélkül.

ez egy másik megoldás

main.cf:

recipient_bcc_maps = hash:/etc/postfix/bcc_recipient

/etc/postfix/bcc_recipient:

akinek-jon@domain.tld      akinek-bcc@domain.tld

$ postmap bcc_recipient
$ /etc/init.d/postfix restart

Van már itt pár hozzászólás, bocsi, ha nem aktuális már a dolog. Phpmyadmin azért remélem csak van, ha nincs marad az SQL konzol. Van egy alias nevű táblája a postfixnek. Abban kell matatni.
Address mező: amire érkezik.
Goto mező: írd be azt, ami az addressnél van + ahova még akarod küldeni. Egymás után, felsorolás szerűen, vesszővel elválasztva.
----------------------------
Weblap, Tárhely, Domain