Inviare email direttamente da un terminale Linux usando Bash può essere utile in molti contesti, come l'automazione delle notifiche o la gestione di script di sistema. In questo articolo, esploreremo i metodi più comuni per farlo.
Prerequisiti
Prima di iniziare, assicurati di avere accesso a:
- Un terminale Linux.
- Un server SMTP configurato o un client di posta elettronica installato (ad esempio,
sendmail
,mailutils
, ossmtp
).
Metodo 1: Utilizzare il comando mail
Il comando mail
è uno strumento semplice per inviare email. Puoi installarlo con:
sudo apt-get install mailutils
Per inviare un'email, usa il comando:
echo "Messaggio" | mail -s "Oggetto" destinatario@example.com
Qui, "Messaggio"
è il corpo del testo, "Oggetto"
è il titolo dell'email e destinatario@example.com
è l'indirizzo email del destinatario.
Metodo 2: Utilizzare sendmail
sendmail
è un altro strumento popolare. Puoi inviare email creando un messaggio completo con intestazioni. Esempio:
sendmail destinatario@example.com << EOF
Subject: Oggetto
Messaggio del corpo
EOF
Assicurati che sendmail
sia installato e configurato correttamente.
Metodo 3: Utilizzare ssmtp
ssmtp
è utile per configurare un server SMTP e inviare email con semplicità. Dopo l'installazione, edita il file di configurazione /etc/ssmtp/ssmtp.conf
per aggiungere le credenziali del tuo server SMTP.
Un esempio di comando per inviare un'email è:
echo -e "Subject: Oggetto\n\nMessaggio" | ssmtp destinatario@example.com
Automatizzare con Bash
Puoi automatizzare l'invio di email inserendo i comandi in uno script Bash. Esempio:
#!/bin/bash
TO="destinatario@example.com"
SUBJECT="Oggetto"
MESSAGE="Messaggio del corpo"
# Utilizzando il comando mail
echo "$MESSAGE" | mail -s "$SUBJECT" "$TO"
Salva lo script, rendilo eseguibile con chmod +x script.sh
e eseguilo con ./script.sh
.
Conclusione
Inviare email con Bash è un'abilità essenziale per chi lavora su sistemi Linux. Scegli lo strumento che meglio si adatta alle tue esigenze e considera la sicurezza, soprattutto quando usi credenziali o server SMTP.