[Megoldva] Postfix - distrubution group, hogyan

Sziasztok!

Az a kérdésem, hogyan lehet a legegyszerűbben csinálni postfix-el egy exchange distribution group szerű email címet. A postfix több virtual domain-t kezel.

A következő lenne a cél:

Adott egy csoport email cím, pl : csoport@sajatdomain.hu

Ha ide küldünk emailt, akkor azt a megadott külső email címekre is küldje el, a csoport nevében.

 

Csoportnak küldött levél:

From: valaki@sajatdomain.hu
To: csoport@sajatdomain.hu
Subject: Csoportnak levél
Hi!

Ezután továbbítás így:

From: csoport@sajatdomain.hu
To: user1@vlahol.hu user2@mashol.hu [megadott lista]
Subject: Csoportnak levél
Hi!

 

Nem kell levelezőlista funkció, semmilyen feliratkozás, stb. csak szimplán ennyi.

Köszi a segítséget.

Megoldás:

B terv lett, az alias fájlban lett létrehozva a csoport és korlátozva lett, hogy ki küldhet erre a címre levelet.

Köszi mindenkinek a segítséget.

/etc/postfix/main.cf

smtpd_restriction_classes = csoport_senders
csoport_senders = check_sender_access hash:/etc/postfix/sender_list, reject

smtpd_recipient_restrictions = check_recipient_access inline:{ csoport@sajatdomain.hu=csoport_senders }
                               permit_mynetworks,
                               permit_sasl_authenticated,
                               reject_unauth_destination

/etc/postfix/sender_list

user_aki_kuldhet@sajatdomain.hu    OK
masik_aki_kuldhet@sajatdomain.hu   OK


/etc/aliases/aliases

csoport:	kulso_cim1@akarhol.com kulso_cim2@valahol.com

/etc/postfix/virtual

csoport@sajatdomain.hu    csoport    #linux local user

Hozzászólások

Ezt próbáltam, de a feladó az lesz aki küldte a levelet, nem írja át a csoport címére, ezért a relay miatt sok szerver visszadobja.

Senkinek nincs köze világod belsejéhez, neked sincs közöd mások életéhez, csak az Irgalom útján van közöd, Istenektől rendelt kötelességed.

Írja, hogy több virtual domaint kezel a postfixe, ott az alias pont nem minden esetben jó, hiszen azt a local delivery agent dolgozza fel. Azzal mondjuk nem tudom, hogy mi volt a gond, hogy simán felvesz egy sort a virtual táblába (és postmap, ha igényli a table type), de a kérdés alapján csak találgatni tudok.

A topicnyitónak: listázd légyszi a non-default beállításokat így

comm -23 <(postconf -n | sort) <(postconf -d | sort)

és dobd be a topicba (szükség szerint anonimizálva). így hasznosabb választ tudunk adni.  Azt is leírhatod, hogy mit próbáltál és miért nem ment (mi történt, mi volt a hibaüzenet).

Amit írtatok az alapján jobban átgondoltam és az alap tervem nem volt igazán jó. Az már teszteltem és  működik, hogy az alias-ban megadom a csoport tagjait, mert egyszerű a konfig és local user kezelés van, de akkor korlátozni kéne, hogy kitől fogad el levelet a csoportnak használt cím.

Senkinek nincs köze világod belsejéhez, neked sincs közöd mások életéhez, csak az Irgalom útján van közöd, Istenektől rendelt kötelességed.

A csoport nevében továbbítást szerintem még az exchange sem csinálja. A külsős címekre továbbküldéstől érdemes tartózkodni.

Igazad van és ráadásul nem is igény. Így az alias tábla  működik és nem gond, hogy látják az eredeti feladót, viszont akkor valahogy el kéne tiltani az adott csoport email cím külső elérését, hogy ne fogadjon "kintről" leveleket, mert akkor a külső feladó nevében próbál továbbküldeni.

Senkinek nincs köze világod belsejéhez, neked sincs közöd mások életéhez, csak az Irgalom útján van közöd, Istenektől rendelt kötelességed.

Ott tartok, hogy szépen küldi a leveleket, a korlátozás pedig ide kéne:

smtpd_recipient_restrictions = permit_mynetworks
   permit_sasl_authenticated
   reject_unauth_destination
   check_sender_access hash:/etc/postfix/restricted_senders

Itt viszont nem találom a doksiban, hogyan kénem megadni a következőt:

/etc/postfix/restricted_senders:

    csoport@sajatdomain.hu  csak-o-kuldhessen-id-elevelet@sajatdomain.hu   ??????

Senkinek nincs köze világod belsejéhez, neked sincs közöd mások életéhez, csak az Irgalom útján van közöd, Istenektől rendelt kötelességed.

Itt csak a sender-t ellenőrzöd, nézd meg a doksit, amit linkeltem és definiálj restriction classt. A restriction class-ban megmondod, hogy kik küldhetnek a címre és azzal a restriction class-al együtt tudod majd a címzettet (group address) ellenőrizni az smtpd_recipient_restrictions alatt.  Azaz az smtp_recipient_restrictions-nél neked már nem check_sender_access, hanem check_recipient_access lesz, ahol a table lookup eredménye lesz a restriction class neve, a restriction class definíciójában pedig ellenőrzöd a címzetteket (ott lesz majd a check_sender_access egy táblával, ahol a valid feladók szerepelnek). Postfix Per-Client/User/etc. Access Control - itt a "What follows is based on the sender SMTP envelope address" alatt van egy példa, amin valószínűleg csak kicsit kell alakítsál.

Ez kell neked

smtpd_restriction_classes = csoport_senders

csoport_senders = check_sender_access hash:/etc/postfix/sender_list

smtpd_recipient_restrictions =
     ...
    check_recipient_access inline:{ csoport@sajatdomain.hu=csoport_senders }

és a /etc/postfix/sender_list file a következő mintájú

kuldhet@emailt   OK
megezis@kuldhet OK
...

Nagyon köszi, működik :)

Két apróság kellet még, egyik a reject a végére:

csoport_senders = check_sender_access hash:/etc/postfix/sender_list, reject

A másik meg, nekem még nem volt meg, számít a sorrend a smtpd_recipient_restrictions listában, amíg nem az első volt a helyi felhasználókra nem korlátozott, gondolom benne voltak az auth csoportban. Úgy működik mint egy tűzfal szabály, ha érvényes rá valami akkor nem megy tovább.

Így lett jó:

smtpd_recipient_restrictions = check_recipient_access inline:{ group@utriport.hu=csoport_senders }
                               permit_mynetworks,
                               permit_sasl_authenticated,
                               reject_unauth_destination

Még egyszer köszi.

Senkinek nincs köze világod belsejéhez, neked sincs közöd mások életéhez, csak az Irgalom útján van közöd, Istenektől rendelt kötelességed.