exim elutasított local submission bounce-ot generál

Hogyan tudom exim-mel megcsinálni az, hogy sendmail paranccsal a helyi usereknek csak egy csoportja tudon emailt küldeni? a többiek kapjanak nonzero exit kódot.
pl. legyen egy sendmail csoport.

csináltam egy ACL-t, csak az a bajom vele, hogy bounce-ot generál


acl_not_smtp = acl_check_sendmail
begin acl
acl_check_sendmail:
  deny
    message = User is not permitted to submit mails.
    log_message = $sender_ident is not sendmail member
    condition = ${if inlist{$sender_ident}{${run {/usr/bin/members sendmail} {${sg{$value}{\N\s+\N}{:}}}}} {false}{true}}
  accept

szeretném, hogy ne generáljon bounce-ot.
vagy ha már mindenképp csinál bounce-ot és feleslegesen terheli vele a rendszert, hogy tudom ezeket és csak ezeket az emaileket elegánsan kidobni (persze nem megvárva míg a queue-ból maguktól eltűnnek)?
miért nem tudja ezeket az emaileket is bounce nélkül elutasítani, mint amikor SMTP-n 5xx-as hibát dob?

Hozzászólások

Ez az acl szerintem egy 550-est generál - pont amit akarsz. Mondjuk erről az user kaphat vissza egy NDR-t valóban, ha ezt bounce-nak nevezzük, akkor talán erre gondolsz:
( postfixben master.cf: bounce unix - - n - 0 discard )
Exim4ben én csak gusztustalan system_filteres hekket ismerek, amivel eldobható az email. De kíváncsi vagyok valaki ír-e más módszert.
http://help.directadmin.com/item.php?id=357
"a többiek kapjanak nonzero exit kódot" fentiek fényében ezt nem értem...

"a többiek kapjanak nonzero exit kódot."
úgy értem, hogy a sendmail parancs exit kódja ne 0 legyen, ezzel jelezve hogy nem fogadta a mail-t.
ez - úgy tapasztaltam - teljesül, 1-es hibakódot dob.
amikor elfogadja, akkor rendesen 0-t ad vissza.

~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack

Már megoldottuk a problémádat, miért nem próbálod ki? :)A system_filterben megnézve a közepe lehet az ami első látásra nem érthető neked, az kb. = csak a NEM local recipientekre matchel. Viszont a linkem directadminos fórumra mutat. Directadminban spec. így vannak eltárolva az userek a vdomainek alatt textben (lásd a feltételben a path), ez nem játszik ha nálad másképp van. Simán ki is hagyhatod ezt a feltételt.

legfeljebb is csak workaround a system_filteres módszer.
hogy állapítom meg egyértelműen hogy olyan emailt ellenőriz éppen, ami a fenti ACL-en megbukott email bounce-ja?
(egy át nem vett emailre bounce?! - ez is elég érdekes)
1. nincs $local_part, $domain - jó, tegyük fel hogy kibányászom, újraparzerolom valahonnan a headerekből.
2. feltételezem a címzett mindig denied_user@$qualify_domain, mi van ha a $qualify_domain már nem az én kezelésemben van és ez egy jogos bounce email lenne. nincs +virtual_domains, +local_domains listám (igaz, ezt nem közöltem, nem láttam relevánsnak a kérdés szempontjából), hanem szintén egy ${run}-os condition-nel döntöm el, hogy pillanatnyilag helyben kell-e kézbesíteni a mailt, vagy smtp-n: tehát ide is le kéne másolni azt a 7 ménységig beágyazott kifejezést
3. újra le kell futtatni azt a "members sendmail"-es conditiont - szintén redundáns lenne

legjobb az lenne ha nem is generálna NDR-t.
nincs valami "deny_de_nagyon" acl verb?
vagy ${run} alól kill-elem az hívó processzt? :-D

~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack

Tuti van erre valami RFC amit te most meg akarsz hágni. Csak úgy zárójelben mondom. ;) Át nem vett email valóban nem pattanhat vissza, viszont az user azért kap NDR-t, valahogy csak kell értesülnie a szerencsétlennek hogy mi a stajsz.
Egy tipp: aclellel adhatsz custom headert is az emailhez, aminek meglétére a system_filterben már szűrhetsz, így nem lehet félreértés.
"szintén egy ${run}-os condition-nel döntöm el, hogy pillanatnyilag helyben kell-e kézbesíteni a mailt" leírnád ennek a megoldásnak az indokát, hogy mit csinálsz pontosan és miért? eléggé sci-finek hangzik. :)

valahogy csak kell értesülnie

pontosan erre van az exit code.
az én meglátásom szerint ami smtp-n az 5xx-as válasz, az sendmail-es küldés esetén a non-zero exit code.
ezzel értesül a user, hogy nem sikerült a dolog.

elég messzire vezet és offtopic, de ha már megkérdezted,szívesen elmesélem:
a helyi vagy távoli kézbesítésről döntő condition a $domain dns rekordjait vizsgálja - tudom, ezt nyilván tudja magától is az exim. alapvetően igen, elég volna egy "domain = @mx_any" hogy megtudjam, én vagyok-e a kérdéses domain MX-e, de a kiértékelés NAT mögötti gépen nem okés, mert a local_interfaces közt nincs ott a NAT elötti IP cím.
fel lehetne venni ugyan az extra_local_interfaces-hez, de az már nekem nem járja, nem lesz hordozható, mi van ha változik, és egyáltalán, az nem a levelező démon ügye.

~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack

olyasmit szeretnék megvalósítani, mint postfix-ben az authorized_submit_users konfig opció.

~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack

gondoltam a 1754 jogra is és root:sendmail ownerre.
jelenleg a sendmail link az exim fö binárisára, /usr/sbin/exim4, illetve még jónáhány emailezéssel kapcsolatos parancs rá linkel és nem tudom lesz-e valami nem várt mellékhatása egy ilyen módosításnak. mivel jog elvételröl van szó, valószínüleg nem veszélyes.
de mi van akkor ha egy egyszerü csoporttagságvizsgálatnál többöl szeretném eldönteni, hogy küldhet-e mailt.
ezért szeretném konfig szinten kezelni ezt a hozzáférést.

~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack