Perché inviare tramite le porte 587 e 465?
La porta 25 serve ai server di posta per passarsi le email tra loro. Inviando direttamente dal server al server di posta del destinatario devi curare tu reputazione IP, DNS inverso e volumi di invio, e le email inviate da un nuovo IP finiscono facilmente nello spam.
Le porte 587 e 465 sono porte di invio con cui un utente autenticato consegna le email. Accedendo al servizio di invio con nome utente e password e consegnandogli l'email, un server di invio con reputazione curata la recapita per te. È il modo più sicuro perché email come conferme di registrazione, recupero password e notifiche d'ordine arrivino in posta in arrivo.
- Porta 587: si connette in chiaro e poi avvia la cifratura con STARTTLS. È la porta usata di default dalla maggior parte dei servizi e dei programmi.
- Porta 465: si connette cifrata con TLS fin dall'inizio. Nelle impostazioni compare spesso come SSL o SSL/TLS.
Scegliere un servizio di invio email
I servizi di invio email sono di due tipi principali. Uno è il servizio di email transazionali, che invia in grandi volumi le notifiche di siti e app; l'altro è la funzione SMTP dell'account email aziendale o personale che usi già. In entrambi i casi, con le quattro informazioni qui sotto sei pronto per la configurazione.
- Indirizzo del server SMTP: per esempio smtp.example.com
- Porta: 587 (STARTTLS) oppure 465 (SSL/TLS)
- Nome utente: l'ID o l'indirizzo email assegnato dal servizio
- Password: la password SMTP dedicata o la chiave API del servizio
Per negozi online o servizi con molti invii, un servizio di email transazionali gestisce anche registro degli invii, rimbalzi e disiscrizioni, ed è più comodo. Per poche notifiche basta l'SMTP di un account email.
Verificare la connessione SMTP dal server
Prima della configurazione verifica che dal server la connessione al servizio di invio funzioni. Il comando qui sotto controlla solo la connessione e non invia email.
nc -vz smtp.example.com 587
openssl s_client -starttls smtp -connect smtp.example.com:587 -crlf -quiet
openssl s_client -connect smtp.example.com:465 -crlf -quietSe la prima riga mostra succeeded o open e il comando openssl mostra un saluto del server che inizia con 220, è tutto pronto. Esci con Ctrl+C. Se manca il comando nc, installalo con apt install -y netcat-openbsd su Ubuntu e Debian, o con dnf install -y nmap-ncat su AlmaLinux.
Collegare Postfix al servizio di invio
Per raccogliere in un unico punto le email inviate dai programmi del server, dalle notifiche cron e dal comando mail, configura Postfix come relay verso il servizio di invio. Tutte le email del server escono autenticandosi sulla porta 587.
Passo 1. Installazione
apt install -y postfix libsasl2-modules mailutilsDurante l'installazione, quando ti chiede il tipo di configurazione della posta scegli Internet Site e come nome di posta inserisci il tuo dominio. Su AlmaLinux 10 installa con dnf install -y postfix cyrus-sasl-plain s-nail e avvia con systemctl enable --now postfix.
Passo 2. Configurazione del relay
postconf -e 'relayhost = [smtp.example.com]:587'
postconf -e 'smtp_sasl_auth_enable = yes'
postconf -e 'smtp_sasl_password_maps = texthash:/etc/postfix/sasl_passwd'
postconf -e 'smtp_sasl_security_options = noanonymous'
postconf -e 'smtp_tls_security_level = encrypt'
postconf -e 'inet_interfaces = loopback-only'inet_interfaces = loopback-only fa accettare solo le email inviate dall'interno del server, così dall'esterno nessuno può usare questo server come relay di posta.
Passo 3. Salva i dati di accesso
echo '[smtp.example.com]:587 SMTP_USER:SMTP_PASSWORD' > /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
systemctl restart postfixSe il servizio usa la porta 465, cambia la porta in relayhost e sasl_passwd in 465 e aggiungi una riga con postconf -e 'smtp_tls_wrappermode = yes'.
Passo 4. Invio di prova e controllo dei log
echo "VPS mail test" | mail -s "Test from VPS" you@example.com
postqueue -p
journalctl -t postfix/smtp -n 20Se nel log compare status=sent, il servizio di invio ha preso in carico l'email. postqueue -p mostra l'elenco delle email non ancora uscite. Se hai corretto i dati di accesso, dopo systemctl restart postfix reinvia con postqueue -f.
Configurare l'SMTP in WordPress e nelle app
La maggior parte dei siti e delle app ha campi per le impostazioni SMTP, quindi puoi collegarti direttamente al servizio di invio senza Postfix sul server. In WordPress installa un plugin SMTP e inserisci i valori qui sotto: le email di registrazione e recupero password usciranno da quel servizio.
- Host SMTP: indirizzo del servizio di invio
- Cifratura: TLS (STARTTLS) per la 587, SSL per la 465
- Porta: 587 oppure 465
- Autenticazione: attiva, con nome utente e password
- Indirizzo mittente: un indirizzo del tuo dominio (per esempio no-reply@example.com)
Anche le app Node.js, PHP e Python configurano la libreria email con gli stessi valori. Non scrivere la password nel codice: inseriscila tramite variabili d'ambiente o file di configurazione. L'installazione di WordPress è nella guida all'installazione di WordPress.
Inserire SPF, DKIM e DMARC nel DNS del dominio
Il server di posta del destinatario verifica con i record DNS se l'email arriva davvero da una fonte autorizzata dal tuo dominio. Inserendo questi tre record, la consegna in posta in arrivo migliora molto.
- SPF: l'elenco dei server autorizzati a inviare email per il tuo dominio. Inserisci in un record TXT il valore include indicato dal servizio di invio.
- DKIM: una firma digitale aggiunta alle email. Inserisci così come sono i record TXT o CNAME generati nel pannello del servizio di invio.
- DMARC: stabilisce come trattare le email che non superano i controlli SPF e DKIM. All'inizio parti con un'impostazione che si limita a ricevere i report, come qui sotto.
_dmarc.example.com TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"Dopo qualche settimana di report, quando hai verificato che tutte le email passano, sali a p=quarantine e poi a p=reject per bloccare chi si spaccia per il tuo dominio.
Ricevere email e passi successivi
Per ricevere le email indirizzate al tuo dominio, inserisci nel dominio i record MX di un servizio di hosting email. Se la ricezione la gestisce l'hosting email e le notifiche in uscita il servizio di invio, il server si concentra solo su sito e app.
Con l'invio tramite servizio, anche se sposti o ricrei il server basta spostare poche righe di configurazione. Anche se cambia l'IP del server, la reputazione di invio resta presso il servizio, quindi la consegna delle email non ne risente nemmeno quando sposti il sito in un'altra regione.
Le altre porte puoi aprirle liberamente in base al servizio. Come aprire solo le porte che usi è spiegato nella guida al firewall di base, le regole d'uso dei server nelle regole d'uso.
