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 Mail Transfer Agent (MTA) opensource che viene utilizzato per instradare la posta elettronica utilizzando il server o utilizzando i comandi della shell. Puoi anche configurare SMTP usando Sendmail.
In questa guida imparerai come installare e configurare Sendmail su Ubuntu. Inoltre imposterai SMTP e lo configurerai con PHP.
Aggiorna i pacchetti del server
SSH all'interno del tuo server e aggiorna i pacchetti all'ultima versione.
sudo apt update sudo apt upgrade
Installa Sendmail
Sendmail è disponibile nel repository di Ubuntu, quindi puoi installarlo direttamente usando apt install
comando.
sudo apt install sendmail
Configura nome host
Modifica il /etc/hosts
file e aggiungi il tuo nome host.
sudo nano /etc/hosts
Sulla riga che inizia con 127.0.0.1
, aggiungi il hostname
fino alla fine come appare di seguito. 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 la tua autenticazione SMTP all'interno della directory appena creata.
cd /etc/mail/authinfo sudo nano smtp-auth
Incolla la riga seguente e sostituisci l'indirizzo e-mail con la tua e-mail di accesso e la password con la tua password.
AuthInfo: "U:root" "I:email-address" "P:password"
Premi CRTL + X
seguito da Y
e ENTER
per salvare ed uscire dal file.
Crea una mappa del database hash per l'autenticazione sopra creata.
sudo makemap hash smtp-auth < smtp-auth
Configura SMTP
Vai alla directory di configurazione di sendmail e modifica il sendmail.mc
file.
cd /etc/mail sudo nano sendmail.mc
Aggiungi le seguenti configurazioni subito dopo MAILER _DEFINITIONS linea.
Sostituisci smtp-host
con il tuo nome host SMTP.
define(`SMART_HOST',`[smtp-host]')dnl define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl define(`ESMTP_MAILER_ARGS', `TCP $h 587')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 FEATURE(`authinfo',`hash -o /etc/mail/authinfo/smtp-auth.db')dnl
La configurazione dovrebbe essere la stessa dello screenshot qui sotto.
Ora salva il file ed esci dall'editor.
Ricostruisci la configurazione di Sendmail
Una volta completata la configurazione, è necessario ricostruire la configurazione di Sendmail utilizzando il make
comando.
cd /etc/mail make
Una volta ricostruita la configurazione, è necessario riavviare Sendmail
Riavvia Sendmail
Riavvia Sendmail usando il seguente comando.
sudo /etc/init.d/sendmail restart
Ora puoi inviare e-mail utilizzando SMTP.
Configurazioni aggiuntive
Configurazione con PHP
Per utilizzare Sendmail con PHP devi inserire il percorso sendmail nel tuo php.ini
file.
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 per rendere effettive le modifiche.
sudo service apache2 restart or sudo service php8.0-fpm restart
Configurazione SMTP Sendmail senza autenticazione
Se hai autorizzato l'IP del tuo server per SMTP e puoi inviare e-mail senza autenticazione, puoi seguire il metodo seguente.
Non è necessario creare il smtp-auth
file che abbiamo creato sopra.
Puoi modificare direttamente il sendmail.mc
file e apportare le seguenti modifiche.
cd /etc/mail sudo nano sendmail.mc
Aggiungi le seguenti configurazioni alle ultime.
Sostituisci smtp-host
con il tuo nome host SMTP.
define(`SMART_HOST',`smtp-host')dnl define(`RELAY_MAILER', `esmtp')dnl define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
Salva il file, ricostruisci la configurazione e riavvia Sendmail.
cd /etc/mail make sudo /etc/init.d/sendmail restart
Conclusione
Ora hai imparato come installare e configurare Sendmail per l'inoltro usando SMTP su Ubuntu.
Grazie per il tuo tempo. In caso di problemi o feedback, si prega di lasciare un commento qui sotto.