Come installare e configurare Sendmail su Ubuntu
Come installare e configurare Sendmail su Ubuntu per l’invio di e-mail utilizzando un server di posta elettronica che instrada o inoltra la consegna della posta.
Sendmail è un agente di trasferimento di posta opensource (MTA) che viene utilizzato per instradare la posta elettronica utilizzando il server o utilizzando i comandi della shell. È inoltre possibile configurare SMTP utilizzando Sendmail.
In questa guida imparerai come installare e configurare Sendmail su Ubuntu. Inoltre si imposta SMTP e configurarlo con PHP.
Miglior Hosting per il tuo Business
la Piattaforma | Recensioni | Prezzi |
---|---|---|
Cloudways | ★★★★★ | $10 |
Kinsta – Google Cloud | ★★★★★ | $30 |
Server di Aggiornamento di Pacchetti
SSH all’interno del tuo server e aggiornare i pacchetti alla versione più recente.
sudo apt updatesudo apt upgrade
Installa Sendmail
Sendmail è disponibile nel repository di Ubuntu, quindi puoi installare direttamente usando il comando apt install
.
sudo apt install sendmail
Configura nome host
Modifica il file /etc/hosts
e aggiungi il tuo nome host.
sudo nano /etc/hosts
Sulla riga che inizia con 127.0.0.1
, aggiungi hostname
alla fine come appare di seguito. Questo dovrebbe essere su una singola riga.
127.0.0.1 localhost hostname
Configura SMTP
Crea una nuova directory all’interno di /etc/mail
per le configurazioni SMTP.
sudo mkdir /etc/mail/authinfo
Imposta le autorizzazioni corrette.
sudo chmod -R 700 /etc/mail/authinfo
Crea un nuovo file per l’autenticazione SMTP all’interno della directory appena creata.
cd /etc/mail/authinfosudo nano smtp-auth
Incolla la riga seguente e sostituisci l’indirizzo email con l’email di accesso e la password con la password.
AuthInfo: "U:root" "I:email-address" "P:password"
Premere CRTL + X
seguito da Y
e ENTER
per salvare e uscire dal file.
Crea una mappa di database hash per l’autenticazione creata sopra.
sudo makemap hash smtp-auth < smtp-auth
Configura SMTP
Vai alla directory di configurazione di sendmail e modifica il file sendmail.mc
.
cd /etc/mailsudo nano sendmail.mc
Aggiungi le seguenti configurazioni subito dopo la riga MAILER _DEFINITIONS.
Sostituisci smtp-host
con il tuo nome host SMTP.
define(`SMART_HOST',`')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnldefine(`ESMTP_MAILER_ARGS', `TCP $h 587')dnldefine(`confAUTH_OPTIONS', `A p')dnlTRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldefine(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnlFEATURE(`authinfo',`hash -o /etc/mail/authinfo/smtp-auth.db')dnl
La configurazione dovrebbe avere lo stesso aspetto dello screenshot qui sotto.
Ora salva il file e esci dall’editor.
Ricostruisci la configurazione di Sendmail
Una volta completata la configurazione, devi ricostruire la configurazione di Sendmail usando il comando make
.
cd /etc/mailmake
Una volta ricostruita la configurazione è necessario riavviare Sendmail
Riavviare Sendmail
Riavviare Sendmail utilizzando il seguente comando.
sudo /etc/init.d/sendmail restart
Ora è possibile inviare e-mail utilizzando SMTP.
Configurazioni aggiuntive
Configurazione con PHP
Per utilizzare Sendmail con PHP è necessario inserire il percorso di sendmail nel file php.ini
.
sudo nano /etc/php/version/fpm-or-apache2/php.ini
In fondo al file aggiungi quanto segue.
sendmail_path= /usr/sbin/sendmail -t -i
Riavvia Apache o PHP-FPM affinché le modifiche abbiano effetto.
sudo service apache2 restartorsudo service php8.0-fpm restart
Configurazione SMTP di Sendmail senza autenticazione
In caso di whitelisting dell’IP del server per SMTP e di invio di e-mail senza autenticazione, è possibile seguire il seguente metodo.
Non è necessario creare il file smtp-auth
che abbiamo creato sopra.
È possibile modificare direttamente il file sendmail.mc
e apportare le seguenti modifiche.
cd /etc/mailsudo nano sendmail.mc
Aggiungi le seguenti configurazioni all’ultima.
Sostituisci smtp-host
con il tuo nome host SMTP.
define(`SMART_HOST',`smtp-host')dnldefine(`RELAY_MAILER', `esmtp')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
Salvare il file, ricostruire la configurazione e riavviare Sendmail.
cd /etc/mailmakesudo /etc/init.d/sendmail restart
Conclusione
Ora hai imparato come installare e configurare Sendmail per inoltrare usando SMTP su Ubuntu.