Learning Center
Servizi Webmail

Come inviare email in Linux dalla riga di comando con Sendmail e Mailx

26 nov 2025
Hostman Team
Hostman Team

Per chi gestisce server o lavora su attività di automazione, sapere come inviare email dal terminale Linux è essenziale. Questo approccio offre il pieno controllo sulle funzioni di posta elettronica ed elimina la necessità di programmi complessi. È particolarmente utile in scenari in cui velocità e semplicità sono fondamentali.

Strumenti comuni come sendmail e mailx vengono spesso utilizzati per inviare messaggi, verificare impostazioni SMTP, automatizzare avvisi e integrarsi con script. Sono semplici ma efficaci — perfetti per informare i team sugli aggiornamenti del server, automatizzare report o testare configurazioni email.

Questa guida è pensata per utenti che desiderano gestire la posta direttamente dal terminale. Copre l’installazione degli strumenti essenziali e approfondisce attività avanzate come l’invio di allegati e la configurazione degli strumenti di posta.

Perché usare strumenti email da riga di comando?
Copia link

I due strumenti più utilizzati — sendmail e mailx — sono soluzioni affidabili per l’invio della posta in Linux e offrono numerosi vantaggi:

Efficienza
Copia link

I client email tradizionali possono essere lenti e pesanti. Questi strumenti permettono invii rapidi e leggeri direttamente dal terminale.

Automazione
Copia link

Si integrano facilmente con script shell, processi cron e strumenti di monitoraggio. È possibile automatizzare avvisi e notifiche ricorrenti.

Risoluzione problemi SMTP
Copia link

Rendere più semplice il debug delle configurazioni SMTP. Questi comandi offrono visibilità sul processo di consegna e facilitano l’analisi di log ed errori.

Flessibilità
Copia link

Che si tratti di inviare avvisi o generare report automatici, sendmail e mailx offrono versatilità per diverse esigenze operative.

Prerequisiti
Copia link

Prima di utilizzare questi strumenti email nel Linux terminal, assicurati di avere:

  • Accesso al terminale: in alcuni casi sono richiesti privilegi di root.

  • Un server SMTP: necessario per testare l’invio delle email.

  • Strumenti installati: verifica che sendmail e mailx siano presenti e funzionanti.

Configurazione di un server SMTP
Copia link

I server SMTP sono indispensabili per l’invio di email. Esistono due categorie principali:

  1. Server SMTP esterni

  2. Server SMTP locali

Server SMTP esterni
Copia link

Sono server di posta gestiti da provider terzi. Consentono l’invio di email verso destinatari esterni alla rete locale e garantiscono:

  • consegna globale,

  • autenticazione,

  • crittografia,

  • protezione antispam.

Esempi
Copia link

Gmail

  • Indirizzo: smtp.gmail.com

  • Porta: 587 (TLS) o 465 (SSL)

Outlook

  • Indirizzo: smtp.office365.com

  • Porta: 587

Questi server richiedono autenticazione (username, password o password specifiche app) e una connessione cifrata TLS/SSL.

Nota: abbiamo già fornito una guida per configurare server SMTP esterni. Il comando per l’invio tramite Postfix rimane lo stesso: basta configurare le credenziali SMTP e sostituire l’indirizzo email con quello del provider scelto.

Server SMTP locali
Copia link

Operano esclusivamente all’interno di una rete interna. Perfetti per:

  • inviare email tra utenti locali (tom@office.local → jerry@office.local),

  • attività di test e sviluppo,

  • comunicazioni interne,

  • ambienti che non richiedono accesso internet per la posta interna.

Configurare un server SMTP locale
Copia link

1. Installare Postfix
Copia link

sudo apt install postfix

2. Modificare la configurazione
Copia link

sudo nano /etc/postfix/main.cf

Impostazioni principali:

myhostname = mail.office.local

mydomain = office.local

myorigin = $mydomain

inet_interfaces = loopback-only

local_recipient_maps = proxy:unix:passwd.byname

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

Riavviare Postfix:

sudo systemctl restart postfix

3. Creare utenti di posta
Copia link

sudo adduser linux

sudo adduser hostman

Crea indirizzi come linux@office.local.

Panoramica su sendmail
Copia link

sendmail è uno dei mail transfer agent (MTA) più diffusi in Linux. Funziona con server SMTP per inviare email da sistemi locali o script.

Installazione di sendmail
Copia link

Debian/Ubuntu
Copia link

sudo apt install sendmail

CentOS/Red Hat
Copia link

sudo yum install sendmail

Avvio e abilitazione del servizio
Copia link

sudo systemctl start sendmail

sudo systemctl enable sendmail

Testare sendmail
Copia link

echo "Testing sendmail setup" | sendmail -v your-email@example.com

Verifica dei messaggi ricevuti:

mail

Installare mailutils se necessario:

sudo apt install mailutils

Oppure:

cat /var/mail/user

Configurazione del file sendmail.mc
Copia link

sudo nano /etc/mail/sendmail.mc

Esempio: definire il dominio:

define(`confDOMAIN_NAME', `your_domain.com')dnl

Rigenerare la configurazione:

sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Se compare “permission denied”:

sudo sh -c "m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf"

Riavviare:

sudo systemctl restart sendmail

Inviare un’email con sendmail
Copia link

1. Creare un file
Copia link

nano email.txt

Contenuto:

Subject: Test Email from Hostman

This is a test email sent using sendmail on Linux.

2. Inviare
Copia link

sendmail recipient@example.com < email.txt

3. Verificare
Copia link

mail

Inviare allegati con sendmail
Copia link

sendmail non supporta allegati nativamente; bisogna usare uuencode.

Installare sharutils:

sudo apt install sharutils

Invio con allegato:

( echo "Subject: Email with attachment"; uuencode file.txt file.txt ) | sendmail recipient@example.com

Verifica:

mail

Panoramica su mailx
Copia link

mailx è un'applicazione semplice ed efficace per gestire email via terminale. Fa parte del pacchetto mailutils nella maggior parte delle distribuzioni.

Installare mailx
Copia link

Debian/Ubuntu
Copia link

sudo apt install mailutils

Red Hat
Copia link

sudo yum install mailx

Inviare email con mailx
Copia link

echo "This is the body of the email" | mailx -s "Test Email from Mailx" recipient@example.com

Inviare allegati con mailx
Copia link

echo "Please find the attached document" | mailx -s "Email with Attachment" -A email.txt recipient@example.com

Conclusione
Copia link

Inviare email dalla riga di comando in Linux è un metodo potente per automatizzare comunicazioni, diagnosticare server o testare configurazioni. Con sendmail e mailx, puoi gestire messaggi semplici o configurazioni avanzate con allegati. Questa guida fornisce istruzioni dettagliate per iniziare facilmente e migliorare il tuo flusso di lavoro.