Script Bash per inviare e -mail

Script Bash per inviare e -mail
L'e -mail è un mezzo di comunicazione molto comune nel mondo di oggi ora. Chiunque può facilmente comunicare o condividere qualsiasi documento con amici, familiari e colleghi inviando l'e -mail. In generale, le persone usano qualsiasi server di posta elettronica gratuito come Gmail, Yahoo, Hotmail ecc. per l'invio dell'email. Ma puoi inviare facilmente la posta elettronica dalla riga di comando nel sistema operativo Linux. Esistono molti modi per inviare e -mail in Linux. Alcuni modi comuni e semplici per inviare e -mail nel sistema operativo di Ubuntu dal terminale sono mostrati in questo tutorial.

Inizializzazione:

Molti comandi Linux sono disponibili per inviare e -mail dalla riga di comando o utilizzando uno script bash. Ma qualsiasi comando di invio di e -mail non funzionerà se non viene impostato correttamente il server SMTP nel sistema. È possibile impostare il tuo server SMTP per inviare e-mail dalla riga di comando oppure è possibile utilizzare qualsiasi server SMTP gratuito di qualsiasi fornitore di servizi di posta elettronica ben noto come Gmail o Yahoo. Il server SMTP di un account Gmail viene utilizzato in questo tutorial. Per fare questa attività, è necessario selezionare un account Gmail e abilitare l'opzione di "consentire app meno sicure" per quell'account per inviare l'e -mail. Puoi visitare il seguente tutorial per abilitare questa opzione.

https: // linuxhint.com/how-to-send-email-from-php/

Dopo aver abilitato questa opzione, è necessario aprire il file '/etc/ssmtp/ssmtp.conf 'con il privilegio' root 'e aggiungi le seguenti righe alla fine del file. Devi impostare il tuo indirizzo email su "autentica.

Usestarttls = sì
Da LineOverride = Sì
root = [email protected]
MailHub = SMTP.gmail.com: 587
Authuser = nome [email protected]
AuthPass = password

Esempio-1: utilizzando il comando Sendmail

Uno dei famosi comandi di invio e -mail di Linux è "Sendmail". L'utente può facilmente inviare e -mail dalla riga di comando utilizzando questo comando. Se il pacchetto Sendmail non è installato nel sistema, eseguire il seguente comando per installare il pacchetto.

$ sudo apt install ssmtp

Supponiamo che il contenuto e -mail sia archiviato in un file denominato "Email.txt 'con i seguenti contenuti. Qui, il testo dopo la "materia:" verrà inviato come soggetto e -mail e la parte rimanente verrà inviata come corpo e -mail.

e-mail.TXT

Oggetto: inviare e -mail utilizzando Sendmail
Test del corpo e -mail

Esegui comando 'Sendmail' con indirizzo e -mail del destinatario come il seguente comando.

$ Sendmail Nome [email protected] < email.txt

Esempio-2: usando il comando "Mail"

Il comando più comune per l'invio di e -mail in Linux è il comando "posta". Questo comando non è installato su Ubuntu per impostazione predefinita. Esegui il comando seguente per installare il comando "Mail".

$ sudo apt install mailutils

Il seguente comando mostrerà la versione di questo comando se è installato nel sistema.

$ Mail -v

L'opzione '-s' viene utilizzata nel comando 'Mail' per definire l'oggetto dell'email. Esegui l'opzione "Mail" per "-s" con l'oggetto e-mail e l'indirizzo e-mail del destinatario come il seguente comando. Chiederà CC: indirizzo. Se non si desidera utilizzare CC: Field, mantienilo vuoto e premi Invio. Digita il corpo del messaggio e premere Ctrl+D per inviare l'e -mail.

$ mail -s 'soggetto' nome [email protected]

Se si desidera aggiungere il corpo dei messaggi di posta elettronica nel comando, usa '<<<' operator like the following command.

$ Mail -S 'Soggetto del messaggio' Nome [email protected] <<< 'testing message body'

È inoltre possibile aggiungere l'indirizzo e-mail del mittente con comando "Mail" utilizzando l'opzione "-A". Il seguente comando invierà l'e -mail con l'oggetto, "Messaggio", nome del mittente e indirizzo e -mail, "Admin" e indirizzo e -mail del destinatario, nome [email protected] e corpo del messaggio, "messaggio di test".

$ Mail -s 'Messaggio Oggetto' -a da: Admin \
Nome [email protected] <<< 'testing message'

Puoi anche inviare un corpo di messaggio di posta elettronica utilizzando Echo e Pipe (|). Il comando seguente utilizza il comando pipe (|) per inviare il corpo del messaggio.

$ echo "messaggio di test" | Mail -S "Messaggio Oggetto" Nome [email protected]

L'e -mail può essere inviata a più destinatari utilizzando il comando "posta" e aggiungendo gli indirizzi dei destinatari separando la virgola. Il comando seguente verrà inviata un'e -mail a due destinatari.

$ mail -s "test email" [email protected], nome [email protected] < test.txt

Esempio-3: usando il comando 'mutt'

Come il comando "Mail", il comando "Mutt" non è installato su Ubuntu per impostazione predefinita. Esegui il comando seguente per installare il comando "Mutt".

$ sudo APT Installa Mutt

Il comando "Mutt" funziona simile al comando "posta" ma il comando "mutt" ha il proprio editor per inviare l'e -mail. Esegui il comando seguente con l'indirizzo e -mail valido per inviare l'e -mail.

$ Echo "Messaggio di test" | Mutt -s "Test email" Nome [email protected]

È possibile allegare qualsiasi file utilizzando l'opzione '-a' con comando 'Mail' o 'Mutt'. Il seguente comando allegherà gli elementi del file.txt durante l'invio dell'email.

$ echo "messaggio di test" | Mutt -s "Messaggio Oggetto" -A Articoli.txt - nome [email protected]

Esempio-4: usando il comando 'ssmtp'

Un altro comando e -mail è il comando "ssmtp". Se SSMTP non è installato prima, installa prima il pacchetto. Il comando di installazione per SSMTP è mostrato nell'esempio-1. I comandi SSMTP e Sendmail funzionano in modo simile.

Esegui il comando seguente con l'indirizzo email valido. Digita l'oggetto e il corpo e -mail. Premere Ctrl+D per uscire e inviare l'e -mail.

$ ssmtp nome [email protected]

Esempio-5: utilizzando il comando Mailx

Puoi inviare il contenuto HTML come e -mail corpore senza semplicemente inviare il messaggio di testo. Crea un file HTML chiamato 'Test.html 'da usare come corpo di messaggio.

test.html


>

Invio di e -mail


Testing Message Body
<

Il comando 'Mailx' funziona come il comando 'Mail'. È necessario menzionare il tipo di contenuto come testo/html per inviare il contenuto HTML come corpo di messaggio nel comando "Mailx". Il seguente comando invierà il contenuto di 'test.File html 'come corpo di messaggio di posta elettronica.

$ mailx -a 'content -type: text/html' -s "Invio e -mail utilizzando Mailx"
< test.html "[email protected]"

Quando controllerai la posta in arrivo dell'account e -mail del destinatario, l'elenco delle e -mail verrà visualizzato come la seguente immagine.

Conclusione

Dopo aver praticato correttamente i comandi sopra, spero che il lettore possa inviare facilmente la posta elettronica dalla riga di comando in Linux.