Skip to content

Postfix ( da POSTFIX dot ORG)

Quale nome di dominio usare x le mail in uscita

Il parametro $myorigin specifica il dominio da usare per la mail in uscita dalla vostra attuale macchina . Il default è il parametro $myhostname che è quello usato nella vostra LAN , ma dal momento in cui volete spedire mail al resto del mondo preferirete usare il parametro $mydomain che sara’ sicuramente un nome di dominio universalmente riconosciuto , parola chiave per google:” FQDN, fully qualified domain name” .

Avendo in /etc/postfix/main.cf i parametri:

myhostname = mypc
mydomain = FQDN.IT

il parametro $myorigin non sara’ $myhostname$mydomain ma :
myorigin = $myhostname (default: spedisci con il nome del tuo pc che di solito è "user@mypc")

myorigin = $mydomain (probabilmente preferibile se si vuole spedire mail anche al resto del mondo: "user@FQDN.IT")

Per quali domini ricevere email

Il parametro $mydestination specifica per quali domini la tua macchina riceve mail in locale , che puo essere il tuo network, LAN , invece di rispedirli ad un altra macchina . Il default è di ricevere mail per la macchina in sè , leggi questa pagina sul sito di postfix per quanto riguarda i domini ospitati .

Tu puoi non specificare nessun dominio oppure specificarne diversi nell forma “/file/name” che sarebbe “tipo:tavola” che puo’ essere una tra: hash:, btree:, nis:, ldap:, or mysql:, da dove postfix legge la lista dei domini ospitati .

IMPORTANTE:se la tua macchina è il mail server principale per il tuo dominio dovrai specificare anche il parametro $mydomain in $mydestination . Eccovi un po di esempi:

  • Esempio 1: default setting.

    /etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost

  • Esempio 2: FQDN mail server.

    /etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost $mydomain

  • Esempio 3: host universalmente riconosciuto da un FQDN con multipli DNS di tipo A.

    /etc/postfix/main.cf:
    mydestination = $myhostname localhost.$mydomain localhost
    www.$mydomain ftp.$mydomain

Per quali clients spedire email

Di default postfix spedisce email solo dai clients che fanno parte del tuo network di ip locale, che puo essere per esempio 192.168.1.0/24 e spedirli alle machine alla quale è fisicamente connessa. Altri network possono essere autorizzati se inclusi nel parametro $mynetworks per spedire in qualsiasi destinazione .

Postfix puo essere autorizzato a spedire mail anche per clients che fanno parte di networks non inclusi nel blocco di ip autorizzati leggi i tutorial SASL_README e leggi TLS_README.

IMPORTANTE: se il tuo network è collegato direttamente ad internet i paramentri di default sono troppo “amichevoli”:

Tramite il parametro $mynetworks_style puoi avvalorare quelli che sono parametri di default, alcuni esempi:

  • mynetworks_style = subnet (default: autorizza solo il tuo network locale)
  • mynetworks_style = host (+sicuro: autorizza solo la macchina locale)


ed avrai nel parametro $mynetworks nell ordine di sopra:

  • mynetworks = 127.0.0.0/8 (+sicuro: autorizza solo la macchina locale)
  • mynetworks = 127.0.0.0/8 168.100.189.2/32 (autorizza la macchina locale con il suo ip pubblico statico)

Puoi specificare i network autorizzati nel file main.cf o lasciare , come di default , che postfix se la sbrighi per conto suo . Il risultato dipende dal valore del parametro $mynetwork_stile:

  • se $mynetwork_style ha come valore host postfix spedira’ la mail solo dalla machina locale.
  • se $mynetwork_style ha come valore subnet (default),è quando postfix dovrebbe spedire mail solo per gli smtp clients che fanno parte del subnetwork che fa parte dell’ ip specificato dal comando ifconfig.
  • se $mynetwork_style ha come valore il parametro class postfix spedira’ mail x tutte le classi A/B/C dell’ip della tua macchina . Se questo valore venisse espresso su una macchina con un modem adsl (dial up) postfix finirebbe per spedire emails per tutti gli ip nel network del tuo provider .

Invece specifica manualmente una lista di ip nel parametro $mynetworks in formato CIDR,gruppi di networks (network/mask) , per esempio:

/etc/postfix/main:
mynetworks = 168.100.189.0/28, 192.168.1.0/24, 127.0.0.0/8

A quali destinazioni spedire email

Di default Postfix spedira’ email per chiunque anche al di fuori dei networks autorizzati solo verso destinazioni autorizzate specificate nel parametro $mydestinations.Di default postfix spedira email solo ai networks specificati nel parametro $mydestination.


relay_domains = $mydestination (default)
relay_domains = (safe: mai spedire mail da clients sconosciuti)
relay_domains = $mydomain (spedisce solo mail al mio nome di dominio e ai suoi sottodomini)

Metodo di spedizione: diretto o indiretto

Di default postfix cerca di spedire mail direttamente in interet ma questo non è sempre possibile o voluto per vari motivi: il tuo host è bloccato in uscita da un firewall o puo essere collegato ad un provider che non permette di spedire email direttamente in rete , porta 25 bloccata . Puo essere che hai un nome di dominio dinamico inserito in una blacklist antispam che i destinatari rifiutano.

In ognuno di questi casi hai bisogno di spedire mail in modo indiretto tramite un $relayhost , esempi:


relayhost = (default: direttamente in internet)
relayhost = $mydomain (tramite un remailer locale)
relayhost = [mail.$mydomain] (tramite remailer locale)
relayhost = [mail.isp.tld] (tramite un provider)

Le parantesi [] servono onde evitare che il dns ricerchi il dominio MX (mail exchanger)