Sziasztok,
az alábbi dolgot kellene megoldanom:
van egy email cím, ezt csak egy felhasználó kapja meg a többi címzett utasítsa vissza.
Ha globálisan kellene tiltani, nem volna probléma, de így nem tudok mit kezdeni vele. Ezt Ti, hogy csinálnátok?
köszi:
Balázs
- 2160 megtekintés
Hozzászólások
Talán a header_checks -el lehetne próbálkozni.
header_checks = pcre:/etc/postfix/header_checks
és reguláris kifejezésekkel leellenörzöd azt amit szeretnél.
- A hozzászóláshoz be kell jelentkezni
köszi. ezt ki fogom próbálni
- A hozzászóláshoz be kell jelentkezni
Nem használható erre, mert a header ellenőrzés fejléc-soronként külön-külön történik.
Restriction class-al meg lehet oldani, pl:
smtpd_restriction_classes = foo
foo = check_recipient_access hash:/etc/postfix/recipient, reject
smtpd_recipient_restrictions =
...
check_sender_access hash:/etc/postfix/sender
és a /etc/postfix/recipient-ben megadod, ki kaphatja meg csak a levelet, míg a /etc/postfix/sender-ben, hogy az adott feladóra a postfix alklamazza a foo megszorítást:
akit@akarsz foo
- A hozzászóláshoz be kell jelentkezni
Szerintem meg lehet csinálni header_check -el is, de pontosítsuk miről is van szó:
Gondolom az eredeti feladat az, hogyha X a feladó akkor csak Y címzett kapja meg a levelet, minden más feladó esetén viszont bárki kaphat levelet.
Ez esetben az első szabály az, hogyha nem X a feladó, akkor mehet a levél, és nincs további ellenörzés. Ha X a feladó, akkor nem csinálunk még semmit, jöhet a következő header sor.
A második szabály az, hogy ha Y a címzett , akkor a levél mehet tovább, ellenkező esetben discard.
- A hozzászóláshoz be kell jelentkezni
A fejlécek sorrendjét nem tudod garantálni. A levélben szerepelhetnek úgy is, hogy
Márpedig ebben az esetben a header_check szabályaid sorrendje "megfordul", függetlenül attól, hogy a fájlodban így szerepelnek:
!/^From:\s*x@innen$/ OK
/^To:\s*y@ide$/ OK
/./ REJECT
Ennek pedig elég tragikus lenne a hatása.
A header és body check-nél minden ellenőrzendő sort függetlennek kell tekinteni.
- A hozzászóláshoz be kell jelentkezni
ez is kivédhető feltételes szerkezettel és HOLD-al, bár tény, hogy a te megoldásod már jóval egyszerűbb.
- A hozzászóláshoz be kell jelentkezni
Nem védhető ki feltételes szerkezettel.
Egyszerre csak egy fejléc sort látsz. Előzőre hivatkozni nem tudsz.
- A hozzászóláshoz be kell jelentkezni
jogos.
Az OK -t benéztem, mert az valójában DUNNO....
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Igen.
- A hozzászóláshoz be kell jelentkezni
köszi.
így sajnos nem megy, keresem, hol lehet elrontva
- A hozzászóláshoz be kell jelentkezni
Pontos hibaüzenet, beállítások, leírás nélkül nem sokat lehet mondani, vajon miért nem megy.
- A hozzászóláshoz be kell jelentkezni
a foo-t nagy betüvel kell írni, ez volt a gong
viszont most az van, hogy amit megadtam tiltott email címet, arról senkinek nem írhatok, annak sem, akit megadtam a recipient-ben
szerinted mi lehet?
köszi
- A hozzászóláshoz be kell jelentkezni
Nem, a restriction class-nak nem kell nagybetűsnek lenni, kisbetűs "foo"-ként is működnie kell.
Légyszíves add meg a "postconf" kimenetéből az smtpd_*_restrictions és az smtpd_restriction_classes értékeit, valamint a hivatkozott konfigurációs fájlok tartalmát (/etc/postfix/sender, /etc/postfix/recipient, stb).
- A hozzászóláshoz be kell jelentkezni
smtpd_client_restrictions =
smtpd_data_restrictions =
smtpd_end_of_data_restrictions =
smtpd_etrn_restrictions =
smtpd_helo_restrictions =
smtpd_recipient_restrictions = check_client_access hash:/etc/postfix/access, check_recipient_access hash:/etc/postfix/restricted_receivers, permit_mynetworks, reject_unauth_destination
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access, permit_sasl_authenticated, permit_mynetworks, reject_non_fqdn_sender, permit
smtpd_restriction_classes = restrictedtoreceive, foo
/etc/postfix/recipient
teszt@domain.hu OK
/etc/postfix/sender_access
énemailcimem@domain.hu FOO
köszi
B
- A hozzászóláshoz be kell jelentkezni
Első pillantásra a hibák:
- Miért van smtpd_sender_restrictions is? A leveleknek mindkét access listán át kell jutniuk.
- Nem adtad meg a hivatkozott /etc/postfix/access és /etc/postfix/restricted_receivers tartalmát, a /etc/postfix/recipient alapján egyáltalán nem vagyok benne biztos, hogy helyes formátumúak.
- A /etc/postfix/sender_access-ben a nemlétező "FOO"-ra hivatkozol a létező "foo" helyett.
- Ha "foo = check_recipient_access hash:/etc/postfix/recipient, reject", akkor a /etc/postfix/recipient tartalma hibás. Mit kérdeztél kicsivel feljebb?
A recipient fájlnak így kel kinéznie?Erre válaszoltam, hogy igen. Akkor miért maradt le az E-mail cím a fájlban?
- A hozzászóláshoz be kell jelentkezni
- ez egy átvett szerver, korábbi beállítás
- /etc/postfix/access tartalma sok ip cím, és REJECT
/etc/postfix/restricted_receivers tartalma "mail csoport@" restrictedtoreceive
- ok, a FOO-t javítom
- a bemásolásnál, az OK-ot külön sorba rakta, egy sorban van, vagyis teszt@domain.hu OK
köszi
- A hozzászóláshoz be kell jelentkezni
Értsem úgy ezt az "OK"-t, hogy a /etc/postfix/recipient fájl tartalma "rendben van", vagyis
email@cim OK
sorokból áll?
A "postmap ..." parancsot kiadtad a fájokra, valamit a main.cf megváltoztatásakor a "postfix reload"-ot?
- A hozzászóláshoz be kell jelentkezni
igen, értsd úgy.
kiadtam mind a postmap, és reload parancsot is
- A hozzászóláshoz be kell jelentkezni
Akkor egy teszt gépet állíts be/nevezz ki egyet annak, a nevét/IP címét add meg a /etc/postfix/main.cf-ben:
debug_peer_list = hostnév|IP cím
add ki a "postfix reload"-ot és a kérdéses, nem működő feladóval és címzettel küldjél levelet a teszt gépről.
Utána a postfix által generált debug logot végig lehet nézni, hol, mi nem kerek.
- A hozzászóláshoz be kell jelentkezni
köszi kipróbálom, ezt nem ismertem
- A hozzászóláshoz be kell jelentkezni