Relay SMTP Postfix configurazione per Ubuntu
Ho aggiornato il contenuto della pagina il 23 Febbraio 2023
Ecco come configurare rapidamente Postfix su un server Ubuntu come relay.
Per prima cosa consiglio di utilizzare Postfix e non Sendmail sulle distribuzioni Ubuntu, per due motivi:
- SendMail non è il server smtp predefinito su Ubuntu, troviamo invece Postfix. Questa operazione forza un po’ la configurazione standard di Ubuntu, non è sconsigliato, ma in futuro potrebbero sorgere problemi in fase di trasferimento server o di upgrade di Ubuntu ad una versione superiore, un problema non serio, ma da tenere ben presente.
- Postfix utilizzato come relay è effettivamente un po’ fuori luogo, sarebbe meglio installare un altro server smtp più leggero solo per fare da relay, ma anche qui se non abbiamo praticoli problemi di memoria, meglio lasciare Postfix.
Personalmente utilizzo l’SMTP Postfix su Ubuntu come relay sui server web dedicati ad applicazioni particolari dove c’e’ un invio di email a seguito di qualche elaborazione o a seguito di installazioni siti in WordPress.
Postfix quindi è utile per fare da tramite tra la nostra applicazione web, solitamente in php e il server mail dedicato ad esempio Aruba, Gmail o un server mail dedicato per la gestione posta elettronica, nel mio caso un server Zimbra, ad ogni modo la configurazione è identica per qualunque server SMTP esterno si voglia utilizzare.
Procediamo quindi alla configurazione di Postfix, accedendo via SSH al nostro server Ubuntu e logghiamoci con utente root o come utente amministratore.
Passo 1: Installiamo Postfix (le distribuzioni Ubuntu dovrebbero già averlo installato, ad ogni modo accertiamoci)
Diamo il comando:
sudo apt-get install postfix -y
Se l’installazione procede senza problemi, ci verranno poste alcune domande per la sua configurazione, possiamo evitare di configurarlo, quindi negate la configurazione.
Passo 2: Al termine dell’installazione, copiamo la configurazione già presente nel file di riferimento main.cf.debian con il comando:
sudo cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
Passo 3: editiamo il file di configurazione /etc/postfix/main.cf
nano /etc/postfix/main.cf
Aggiungiamo alla fine del file le seguenti righe
# TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=no smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache myhostname = nome.del.mio.server alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = relayhost = [mail.mioserver.it]:25 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = loopback-only default_transport = smtp relay_transport = smtp inet_protocols = all # SASL Settings smtp_use_tls=yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous
Attenzione nel file main.cf personalizzare i parametri myhostname e relayhost nel seguente modo:
- myhostname = Deve essere un nome di dominio, anche non pubblico, ad esempio: mio.serverweb.local
- mail.mioserver.it = Deve essere il server smtp del vostro provider mail. Ad esempio: smtps.aruba.it o mail.gmail.com, ecc
- 25 = Provate la porta 25 del servizio smtp, altrimenti 587 o quella indicata dal vostro fornitore di servizio mail, solitamente è quella che utilizza nel client di posta elettronica.
Passo 4: Inseriamo le credenziali dell’account email che utilizzerà il server smtp, quindi:
nano /etc/postfix/sasl_passwd
Passo 5: Copiare la seguente stringa personalizzandola (attenzione [mail.mioserver.it]:25 deve essere uguale a quanto abbiamo indicato nel file main.cf nel campo relayhost
[mail.mioserver.it]:25 email_invio@dominio.com:la_mia_password
dove:
email_invio@dominio.com =
Il vostro indirizzo email
la_mia_password
= Inserire la password relativa all’indirizzo email
Passo 6: Rendiamo non accessibili a tutti i file con le credenziali
sudo chmod 400 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
Passo 7: Creiamo il file mailname, fate attenzione sostituite nel comando di seguito, la parola myhostname con il nome imposto nel file main.cf
sudo sh -c "echo myhostname > /etc/mailname"
Passo 8: Riavviamo Postfix
sudo /etc/init.d/postfix restart
Note sulla modalità di scrittura del post
Questo articolo è stato scritto da me, senza alcun aiuto dai sistemi di intelligenza artificiale, quali OpenAI, ChatGPT e simili.