Mentre lavori con la riga di comando, a volte potresti voler inviare manualmente un’e-mail per comunicare informazioni di una riga, pronunciare un comando complesso o una nota importante per te o per un amico. Normalmente, ciò richiede di aprire un browser Web, accedere al proprio account di posta elettronica, inquadrare un’e-mail contenente le informazioni richieste e quindi inviarla.
È un processo troppo lungo per una piccola cosa, non è vero? E se potessi farlo dalla riga di comando stessa? Sì, è possibile e abbiamo già discusso un paio di modi per farlo in Linux. In questo articolo, discuteremo altri tre modi per inviare e-mail dalla riga di comando in Linux.
Inviare una mail
Sendmail, come forse saprai, è il classico server SMTP del mondo UNIX. Di solito viene preinstallato su molte distribuzioni Linux, ma se non è così con la tua scatola Linux, puoi installarlo facilmente dai repository standard. Ad esempio, gli utenti di sistemi basati su Debian, come Ubuntu, possono scaricarlo e installarlo utilizzando il seguente comando:
sudo apt-get install mailutils
Una volta installato, puoi inviare facilmente e rapidamente un’e-mail utilizzando il sendmail
comando. Ecco un esempio:
echo "This is a test email again"| sendmail [receivers-email-address]
Il comando precedente invia un’e-mail contenente il testo “Questa è di nuovo un’e-mail di prova” a “[receivers-email-address]”(Assicurati di sostituirlo, comprese le parentesi, con l’effettivo indirizzo email del destinatario].
Quando ho utilizzato il mio indirizzo e-mail nel comando precedente, ho ricevuto la seguente e-mail:
Come nel mio caso, l’email potrebbe finire nella tua cartella spam, quindi assicurati di controllare lì.
Il comando che abbiamo appena usato conteneva solo il corpo dell’email. Puoi anche aggiungere più dettagli come oggetto, da e altro. Ad esempio, il seguente comando contiene questi campi aggiuntivi e può essere eseguito come uno script:
echo "From: [email protected] To: [email protected] Subject: Test HTML e-mail This is a test email."| sendmail -t
Ecco l’istantanea dell’email che ho ricevuto quando è stato eseguito il comando precedente:
Telnet
È inoltre possibile utilizzare il comando Telnet per inviare un’e-mail dalla riga di comando. Per farlo, esegui i seguenti comandi (assicurati di sostituire “[senders-email-address]” e “[receivers-email-address]”Con l’indirizzo email del mittente e del destinatario, rispettivamente):
telnet localhost smtp ehlo gmail.com mail from: [senders-email-address] rcpt to: [receivers-email-address] data
A questo punto, dovresti vedere un prompt in cui devi inserire il corpo dell’email e assicurarti che il messaggio termini con una nuova riga seguita da un punto (.). Una volta fatto, premi Invio per inviare l’email, quindi digita quit
per uscire dall’applicazione.
Nel mio caso, ho ricevuto la seguente email:
Ssmtp
SSMTP è uno strumento che consegna la posta da un computer locale a un mailhost configurato (mailhub). Gli utenti Debian possono scaricare e installare il programma utilizzando il seguente comando:
sudo apt-get install ssmtp
Una volta installato, apri il file /etc/ssmtp/ssmtp.conf
file e modificalo per assicurarti che contenga le seguenti informazioni:
mailhub=smtp.gmail.com:587 UseSTARTTLS=YES AuthUser=[senders-email-address] AuthPass=[senders-email-login-password] TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
Come sempre, assicurati di sostituire “[senders-email-address]” e “[senders-email-login-password]”Con valori appropriati. Ora, per inviare un’e-mail utilizzando ssmtp
, usa il seguente comando:
ssmtp [receivers-email-address] Subject: [subject-line-here] [Body of email]
Di nuovo, sostituisci “[receivers-email-address]”,”[subject-line-here]”, e “[Body of email]”Con i valori appropriati e invia l’email premendo” Ctrl + D. “
Se ricevi il seguente errore,
ssmtp: Authorization failed (534 5.7.9 http://support.google.com/accounts/bin/answer.py?answer=185833 bk8sm8525341pad.28 - gsmtp)
allora è probabile che Gmail non stia trattando ssmtp
come un’applicazione sicura. Per eliminare questo errore, è necessario modificare una particolare impostazione nel proprio account Gmail: per ulteriori informazioni su come farlo e sui suoi potenziali rischi, fare riferimento a questo Pagina di supporto di Google.
Quando ho eseguito il comando precedente, ho ricevuto la seguente email:
Conclusione
Con questo, abbiamo discusso un totale di 5 strumenti da riga di comando che puoi utilizzare per inviare e-mail dalla riga di comando di Linux. Un punto importante che vale la pena menzionare qui è che oltre a utilizzare questi comandi per inviare email manualmente dalla riga di comando, puoi anche usarli per generare email di notifica dagli script.
Hai mai usato qualcuno di questi strumenti? Come è stata la tua esperienza? Condividi i tuoi pensieri nei commenti qui sotto.