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
The author does not allow comments to this entry
No comments