egy címzettnek (alias!) szóló levelek szűrése feladó alapján

A probléma:

Van a szurt@mailtest.hu alias mely nagyon sokaknak jutatja a levelet.
Az lenne a cél, hogy erre csak a

- jofiu1@mailtest.hu

- jolany1@gmail.com

- jofiu2@alma.org

feladóval érkező levelek érkezzenek meg (a többi megy a kukába). A szurt@mailtest.hu szerepelhet [címzett] vagy [cc] vagy [bcc] mezőben akkor sem szabad átengedni.

Környezet Debian, Postfix.

Ki hogyan oldotta, oldaná meg?

Hozzászólások

Csinálnék belőle "valódi" címet maildirrel, és .forward file-al oldanám meg.

"A megoldásra kell koncentrálni nem a problémára."

Pedig a http://www.postfix.org/RESTRICTION_CLASS_README.html első példája pontosan annak a megoldási útját adja meg, amit szeretnél:

smtpd_restriction_classes = szurt
szurt = check_sender_access inline:{ jofiu1@mailtest.hu=permit, jolany1@gmail.com=permit, ... }, reject
smtpd_recipient_restrictions =
    check_recipient_access inline:{ szurt@mailtest.hu=szurt }, permit_mynetworks, reject_unauth_destination

A MUA dolga, hogy a Cc, Bcc stb mezők tartalmából megfelelő envelope-t készítsen.

Jól értem, hogy az a célod, hogy a fenti 3 cím bármelyikéről levelet küldj a szurt@mailtest.hu címre, anélkül, hogy az szerepelne a címzett, a másolat vagy a titkos másolat mezőben?

Vagy?

nTOMasz
"The hardest thing in this world is to live in it!"

Nagyon egyszerű, ha a szurt@ szerepel mint címzett, cc, bcc és nem szerepel a három email cím valamelyike mint feladó akkor kuka egyébként accept.

Az elmélet az, amikor mindent ismerünk, de semmi nem működik. A gyakorlat az, amikor minden működik, de senki nem tudja, miért.

Szerkesztve: 2019. 11. 20., sze - 09:43

postfix, dovecot+sieve esetleg plusz roundcube+sieve plugin. Mindenre tud szűrni (feladó, címzett, tárgy, fejléc flag) és cselekedni. Amire nincs gyári feltétel, van custom és akár fejléc megadott sorára szűrhetsz és teheted mappába, kukába, válaszolhatsz, továbbíthatod, stb..stb.

Alias esetén e kézbesítéskor nem látszik, hogy a levél küldő az aliassal küldte a levelet bcc esetén, mivel előbb feloldásra kerűl az alias. Így az érkeztetés során, vagy a már átadott levélen a bcc-s alias át megy, mert nem észlelhető.

Sieveben tudok neked olyan szabályt írni ahol a te mail címedre szűrök. Hiszen a headerben benne van a mail címed csak nem a to bcc cc mezőben. És itt elfelejtheted ezt az egész alias témát, mert nem lesz érdekes.

update: közben megnéztem a gyakorlatban is.

Egyik smtp-ről küldtem magamnak levelet bcc-ben egy másik szerveren lévő alias címemre, ami feloldás után a mailboxomban landolt. Címzettnek most semmit nem adtam meg, csak bcc és ott van a feloldott címem. Íme:

Return-Path: <eredeti@felado.hu>
Delivered-To: _aliasból_feloldott_mailbox@cimem.hu <<<ez kell neked
Received: from ....
	by .... (Postfix) with ESMTPS id 744792C1A8C
	for <alias@cimem.hu>; Wed, 20 Nov 2019 20:39:52 +0100 (CET)
Received: from ....
	by .... (Postfix) with ESMTPSA id E8051202AE
	for <alias@cimem.hu>; Wed, 20 Nov 2019 20:39:51 +0100 (CET)
From: eredeti@felado.hu
Subject: teszt
Message-ID: <xxxx@xxxxx>
Date: Wed, 20 Nov 2019 20:39:51 +0100
To: undisclosed-recipients: ;    <<< eredeti címzett, ha lenne.

 

Roundcube+sieve pluginban összekattingattam, a sieve fájl amit generált és használ ezáltal a dovecot+sieve:

# rule:[teszt]
if anyof (header :contains "Delivered-To" "feloldott_mailbox@cimem.hu")
{
    setflag "\\Flagged";
    stop;
}
 

A fenti headerrel rendelkező levelet érkezéskor becsillagozta.

ötlet 2:

Nálam main.cf-ben:

smtpd_recipient_restrictions = ...
                               check_recipient_access hash:/etc/postfix/access4_recipient,

 

# access4_recipient fájl tartalma a te mail címeddel:
szurt@mailtest.hu        permit_mynetworks, REJECT

 

Ezzel csak a megadott networkből fogad levelet az a címzett. Szerintem a permit_mynetworks helyett lehet adni egy listát, talán akár szintén egy hashelt listával, ahonnan engedélyezed. Ezt ki kellene próbálni.

Azt hiszem ez lesz az:

www.postfix.org/RESTRICTION_CLASS_README.html check_recipient_access

etc/postfix/main.cf:
    smtpd_recipient_restrictions =
        ...
        check_recipient_access hash:/etc/postfix/protected_destinations
        ...the usual stuff...

    smtpd_restriction_classes = insiders_only
    insiders_only = check_sender_access hash:/etc/postfix/insiders, reject

/etc/postfix/protected_destinations:
    all@my.domain   insiders_only
    all@my.hostname insiders_only

/etc/postfix/insiders:
    my.domain       OK  matches my.domain and subdomains
    another.domain  OK  matches another.domain and subdomains