Come configurare Sendmail tramite il replay SMTP esterno

14 feb 2023 3 min di lettura
Come configurare Sendmail tramite il replay SMTP esterno
Indice dei contenuti

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.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.