Puncte:0

Postfix: cum să respingi mesajele pentru utilizatorii de sistem local?

drapel in

Încerc să construiesc un mic server Postfix/Cyrus pe stația mea de lucru Linux pentru a acționa ca un proxy între clientul meu de e-mail (Thunderbird) și serverul de e-mail al companiei mele, dar și să gestionez e-mailurile de sistem local (lucruri trimise de crontabs pentru exemplu).

Pe serverul Cyrus am creat o cutie poștală care imită adresa de e-mail a companiei mele, am configurat aliasuri în /etc/aliases pentru a trimite e-mail-uri locale destinate rădăcină sau director de poştă la această adresă și mulțumiri lui hărți_transport directiva, care are prioritate față de orice altceva, a instruit Postfix să livreze e-mailurile destinate acestei adrese de e-mail direct la soclul lmtp al lui Cyrus. Această parte funcționează perfect: toate e-mailurile locale destinate acelor utilizatori prezenți în /etc/aliases este livrat în căsuța mea poștală Cyrus locală, în timp ce toate e-mailurile pentru alte domenii (sau chiar domeniul companiei mele) merg la gazda releu (serverul de e-mail real al companiei mele), după ce Din: antetul este rescris la adresa mea de e-mail actuală a companiei datorită smtp_generic_maps (care acționează numai asupra corespondenței de ieșire, spre deosebire de hărți_canonice_emițătorului sau hărți_canonice_destinatarii). Acest lucru este aproape perfect.

Problema cu care mă confrunt este că Postfix acceptă toate e-mailurile destinate utilizatorilor locali, chiar și utilizatorilor de sistem, și le livrează în fișierele mbox în /var/spool/mail, ceea ce nu vreau.

Am încercat să setez hărți_destinatari_locale la numai $alias_maps (excluzând proxy:unix:passwd.byname care este conținut în valoarea implicită), dar acest lucru nu schimbă nimic.

Am încercat și eu să setez cutie_poștală_transport pentru a livra acele e-mailuri la soclul lmtp al lui Cyrus, dar apoi Postfix îi trimite lui Cyrus tot ceea ce nu este listat în $alias_maps, indiferent dacă există sau nu în baza de date Unix passwd (setarea mailbox_transport_maps = $alias_maps nu ajută).

Cu aceste setări, e-mail către utilizatori inexistenți (sau conturi Unix existente care nu au alias în $alias_maps) ajunge respins de Cyrus (cu 550-Cutie poștală necunoscută), dar mi-ar plăcea ca acele e-mailuri să fie respinse direct de Postfix, evitând călătoria inutilă (IMHO) dus-întors către Cyrus.

Dacă ceea ce încerc să obțin este cu adevărat imposibil, mă voi mulțumi cu asta.

Am încercat și eu să setez transport local la soclul lmtp al lui Cyrus, dar este și mai rău: toate e-mailurile sunt trimise direct către Cyrus, fără nicio alias (deci toate e-mailurile locale sunt respinse, chiar și atunci când utilizatorul local este prezent în $alias_maps).

Știu că aș putea ignora local complet și gestionați toate corespondența cu virtual agent de livrare (este ceea ce fac de obicei atunci când configurez un real server de mail, folosind doar domenii virtuale/cutii poștale), dar îmi place configurația foarte simplă cu care am ajuns până acum (/etc/postfix/main.cf în prezent conține doar 10 linii reale sau cam asa ceva) și mi se pare foarte surprinzător că local nu poate fi instruit să ignore baza de date a parolelor Unix și să respingă tot ceea ce nu este de fapt listat în $alias_maps (cu excepția cazului în care am înțeles greșit documentația, este ce hărți_destinatari_locale este pentru).

Iată configurația mea:

/etc/postfix/main.cf

compatibility_level = 2
myhostname = <FQDN-ul stației mele de lucru în lan>
inet_interfaces = doar loopback
mynetworks_style = gazdă
relayhost = <MX intern al companiei mele>
alias_maps = hash:/etc/aliases (pentru a exclude nis:mail.aliases)
transport_maps = hash:$config_directory/transport_maps
smtp_generic_maps = hash:$config_directory/smtp_generic_maps
biff = nu

/etc/aliases

postmaster: rădăcină
root: <adresa mea de e-mail actuală a companiei>

/etc/postfix/transport_maps

<adresa mea de e-mail actuală a companiei> lmtp:unix:/run/cyrus/socket/lmtp

/etc/postfix/smtp_generic_maps

@<FQDN-ul stației mele de lucru în lan> <adresa de e-mail actuală a companiei>

După cum vezi, foarte simplu.

Nu există o modalitate de a instrui Postfix să respingă e-mailurile pentru utilizatorii sistemului sau, mai precis, să respingă e-mailurile pentru utilizatorii care nu sunt enumerați în mod explicit în $alias_maps ?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.