Introduzione
Sendmail è un programma server che consente alle aziende di inviare e-mail utilizzando il protocollo Simple Mail Transfer Protocol (SMTP). È comunemente installato su un server di posta su una macchina dedicata che accetta messaggi di posta in uscita e li invia ai destinatari definiti.
Sendmail è un mail transfer agent (MTA) che deriva dal progetto open source, software libero e delle comunità Unix. Viene distribuito sia come software libero che proprietario. Viene utilizzato per instradare le e-mail su Internet verso un destinatario specifico, ed è possibile farlo eseguendo il comando sendmail in un ambiente Shell.
Sendmail è anche un programma molto flessibile che discende dall'originale delivermail di ARPANET. Supporta molte tipologie di trasferimento e invio di mail incluso il popolarissimo SMTP. La versione originale di Sendmail fu scritta da Eric Allman nei primi anni '80 all'Università di Berkeley in California, lo stesso autore di delivermail.
Prima di iniziare
Prima di iniziare il processo di configurazione, è necessario disporre delle seguenti informazioni:
- Il nome host o l'indirizzo IP del server SMTP esterno
- Il numero di porta utilizzato dal server SMTP esterno (in genere 25, 587 o 465)
- Le credenziali di autenticazione necessarie per accedere al server SMTP esterno (ad es. nome utente e password)
Installare Sendmail
Se non hai già installato Sendmail sul tuo sistema, puoi installarlo seguendo questi passaggi:
- Su un sistema basato su RHEL (come Fedora o CentOS), utilizzare il seguente comando per installare Sendmail:
sudo yum install sendmail sendmail-cf
- Su un sistema basato su Debian (come Ubuntu o Debian), utilizzare il seguente comando per installare Sendmail:
sudo apt install sendmail sendmail-cf
Creare il file delle credenziali SMTP
Per configurare le credenziali di accesso richieste per accedere al server SMTP esterno, è necessario creare un file denominato "smtp-auth-creds" nella directory /etc/mail.
Apri il file auth-info utilizzando un editor di testo:
sudo nano /etc/mail/smtp-auth-creds
Aggiungi le seguenti righe al file, sostituendo "username" con il tuo nome utente e "password" con la tua password:
AuthInfo:smtp.example.com "U:username" "P:password" "M:PLAIN"
Salva il file e chiudi l'editor di testo.
Compila il file smtp-auth-creds nel file sendmail:
makemap hash /etc/mail/smtp-auth-creds < /etc/mail/smtp-auth-creds
Modificare il file sendmail.mc
Il passaggio successivo consiste nel modificare il file sendmail.mc per configurare l'inoltro delle e-mail tramite un server SMTP esterno. Il file sendmail.mc si trova nella directory /etc/mail.
Apri il file sendmail.mc utilizzando un editor di testo:
sudo nano /etc/mail/sendmail.mc
Nel file di configurazione, alla riga numero 26, configurare SMART_HOST sul server di inoltro. Ad esempio, per inviare e-mail tramite Gmail SMTP, imposta il valore su "smtp.gmail.com":
define(`SMART_HOST', `smtp.example.com')dnl
Dopo la riga sopra, aggiungi più configurazioni come credenziali SMTP, porta SMTP "587" con il numero di porta utilizzato dal tuo server SMTP esterno ecc:
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
FEATURE(`authinfo', `hash -o /etc/mail/smtp-auth-creds.db')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
Salva il file e chiudi l'editor di testo.
Generare il file sendmail.cf
Il file sendmail.mc viene utilizzato per generare il file sendmail.cf , utilizzato da Sendmail per determinarne la configurazione. Per generare il file sendmail.cf, utilizzare il seguente comando:
sudo make -C /etc/mail
Quindi riavviare il servizio sendmail per applicare le modifiche:
systemctl restart sendmail
Verificare l'installazione
Per verificare che la configurazione funzioni come previsto, è possibile utilizzare l' utilità della riga di comando sendmail per inviare un'e-mail di prova:
echo "This is a test email" | sendmail [email protected]
Se tutto è configurato correttamente, dovresti ricevere l'e-mail di prova nella tua casella di posta.
Conclusione
In conclusione, configurare Sendmail per inoltrare le email attraverso un server SMTP esterno è un processo relativamente semplice che può migliorare notevolmente l'affidabilità e la velocità del tuo sistema di posta elettronica. Seguendo la guida dettagliata delineata in questo articolo, puoi configurare facilmente Sendmail in modo che funzioni con il tuo server SMTP esterno, assicurandoti che le tue e-mail vengano consegnate in modo rapido e affidabile. Ricordarsi di eseguire sempre il backup dei file di configurazione prima di apportare modifiche e testare accuratamente la configurazione per assicurarsi che funzioni come previsto.