DebianGNU/LinuxUbuntu

Prerequisiti:

  • installazione di certificati Letsencrypt (non necessario se si usano certificati autogenerati) vedi articolo

  • Abilitare/generare una App Password in google da usare in postfix https://myaccount.google.com/apppasswords

    (con le ultime restrizioni di google e' necessaria una AppPassword in quanto non e' piu' possibile abilitare l'uso per le app meno sicure).

    Sara' necessario abilitare la 2FA.

Installare POSTFIX

sudo apt install postfix

<em>Selezionare Sito internet con smarthost</em>

Rispondere alle domande inerenti il vostro dominio (se avete fatto tutto bene vi troverete un file /etc/postfix/main.cf come quello proposto piu' avanti. (che eventualmente potrete copiare ed aggiustare ;-)

#contenuto /etc/postfix/main.cf

smtpd_banner = Pussa Via
biff = no
append_dot_mydomain = no
readme_directory = no
compatibility_level = 3.6


# TLS parameters
# Per usare certificati autogenerati, eliminare le righe che puntano a let's encrypt
# e sostituirle con quelle commentate per esempio
#smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
#smtpd_tls_security_level=may
smtpd_tls_CAfile=/etc/letsencrypt/live/<your.domain.com>/fullchain.pem
smtpd_tls_cert_file=/etc/letsencrypt/live/<your.domain.com>/cert.pem
smtpd_tls_key_file=/etc/letsencrypt/live/<your.domain.com>/privkey.pem
smtpd_tls_security_level=encrypt
smtpd_use_tls = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtpd_sasl_security_options = noanonymous


# Per usare certificati autogenerati, eliminare le righe che puntano a let's encrypt
# e sostituirle con quelle commentate per esempio
#smtp_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtp_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
#smtp_tls_security_level=may
smtp_tls_CAFILE=/etc/letsencrypt/live/<your.domain.com>/fullchain.pem
smtp_tls_cert_file=/etc/letsencrypt/live/<your.domain.com>/cert.pem
smtp_tls_key_file=/etc/letsencrypt/live/<your.domain.com>/privkey.pem
smtp_tls_security_level = encrypt
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
sender_canonical_maps = hash:/etc/postfix/sender_canonical

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = <yourdomain.com>
mydomain = $myhostname
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = <your.domain.com>, localhost.<your.domain.com>, localhost
relayhost = smtp.gmail.com:587
relay_domains = $mydestinations
mynetworks = 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +

# Ascolta su tutte le interfacce... accessibile dall'esterno
#inet_interfaces = all

# Ascolta solo localhost
inet_interfaces = 127.0.0.1

#inet_protocols = all
inet_protocols = ipv4

Adesso modificate anche il file /etc/postfix/master.cf ed abilitare la riga contenente smtpd.

#contenuto /etc/postfix/master.cf

smtps     inet  n       -       y       -       -       smtpd

Ora bisogna generare il file con le credenziali per il vostro server di posta. Esempio per l'uso con gmail:

sudo nano /etc/postfix/sasl_passwd

ed inserire al suo interno:

smtp.gmail.com:587      <vostra_gmail>:<AppPassword>

dopodiche' eseguire il comando:

sudo postmap /etc/postfix/sasl_passwd

Adesso editare il file :

sudo nano /etc/postfix/sender_canonical

ed inserire al suo interno:

    root    <vostra_gmail>

dopodiche' eseguire il comando:

sudo postmap /etc/postfix/sender_canonical

Assicurarsi che i file appena creati appartengano a root e che non siano leggibili da altri, eventualmente metterli in sicurezza con i comandi:

sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

sudo chown root:root /etc/postfix/sender_canonical /etc/postfix/sender_canonical.db
sudo chmod 0600 /etc/postfix/sender_canonical /etc/postfix/sender_canonical.db

ricaricare la configurazione di postfix

sudo systemctl reload postfix

oppure per riavviarlo:

sudo systemctl restart postfix

Testare l'invio di una email con il seguente comando:

echo "Corpo del messaggio" | mail -s "Oggetto del messaggio"  <indirizzo email destinatario>

Verificate il file di log per il corretto invio o per eventuali problemi:

tail -100f /var/log/mail.log

Potete vedere o eliminare le code di postfix con i seguenti comandi:

# Vedere le code di postfix
sudo postqueue -p

# Eliminare tutte le code di postfix
sudo postsuper -d ALL

No comments

The author does not allow comments to this entry