Script Bash pentru a trimite e-mail

Bash Script Send Email



E-mailul este un mediu de comunicare foarte comun în lumea de astăzi. Oricine poate comunica sau partaja cu ușurință orice document cu prietenii, membrii familiei și colegii prin trimiterea e-mailului. În general, oamenii folosesc orice server de e-mail gratuit, cum ar fi Gmail, Yahoo, Hotmail etc. pentru trimiterea e-mailului. Dar puteți trimite e-mailuri de pe linia de comandă cu ușurință în sistemul de operare Linux. Există multe modalități de a trimite e-mailuri în Linux. Unele modalități obișnuite și ușoare de a trimite e-mailuri în sistemul de operare Ubuntu de la terminal sunt prezentate în acest tutorial.

Inițializare:

Multe comenzi Linux sunt disponibile pentru a trimite e-mailuri din linia de comandă sau folosind un script bash. Dar orice comandă de trimitere a e-mailului nu va funcționa dacă niciun server SMTP nu este configurat corect în sistem. Puteți să vă configurați propriul server SMTP pentru a trimite e-mailuri din linia de comandă sau puteți utiliza orice server SMTP gratuit al oricărui furnizor de servicii de e-mail bine cunoscut precum Gmail sau Yahoo. Serverul SMTP al unui cont Gmail este utilizat în acest tutorial. Pentru a efectua această sarcină, trebuie să selectați un cont Gmail și să activați opțiunea „Permiteți aplicații mai puțin sigure” pentru ca acel cont să trimită e-mailul. Puteți vizita următorul tutorial pentru a activa această opțiune.







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



După activarea acestei opțiuni, trebuie să deschideți fișierul „/etc/ssmtp/ssmtp.conf” cu privilegiul „rădăcină” și să adăugați următoarele linii la sfârșitul fișierului. Pentru a finaliza configurarea, trebuie să setați adresa de e-mail la „AuthUser” și parola de e-mail la „AuthPass”.



Utilizați STARTTLS= DA
FromLineOverride= DA
rădăcină= admin@example.com
mailhub= smtp.gmail.com:587
AuthUser= nume de utilizator@gmail.com
AuthPass= parola

Exemplu-1: Utilizarea comenzii Sendmail

Una dintre comenzile populare de trimitere a e-mailurilor Linux este „sendmail”. Utilizatorul poate trimite cu ușurință e-mailuri din linia de comandă utilizând această comandă. Dacă pachetul Sendmail nu este instalat în sistem, executați următoarea comandă pentru a instala pachetul.





$sudoaptinstalaressmtp

Să presupunem că conținutul e-mailului este stocat într-un fișier numit „email.txt” cu următorul conținut. Aici, textul după „Subiect:” va fi trimis ca subiect al e-mailului, iar partea rămasă va fi trimisă ca corp al e-mailului.

email.txt



Subiect: Trimiterea e-mailurilor utilizând sendmail
Testarea corpului e-mailului

Rulați comanda „sendmail” cu adresa de e-mail a destinatarului, cum ar fi următoarea comandă.

$sendmailnume de utilizator@gmail.com<email.txt

Exemplu-2: Utilizarea comenzii „mail”

Cea mai comună comandă pentru trimiterea e-mailurilor în Linux este comanda „mail”. Această comandă nu este instalată în mod implicit pe Ubuntu. Rulați următoarea comandă pentru a instala comanda `mail`.

$sudoaptinstalaremailutils

Următoarea comandă va afișa versiunea acestei comenzi dacă este instalată în sistem.

$Poștă-V

Opțiunea „-s” este utilizată în comanda „mail” pentru a defini subiectul e-mailului. Rulați comanda „mail” prin opțiunea „-s” cu subiectul e-mailului și adresa de e-mail a destinatarului, cum ar fi următoarea comandă. Va cere Cc: adresa. Dacă nu doriți să utilizați Cc: câmp, păstrați-l necompletat și apăsați Enter. Tastați corpul mesajului și apăsați Ctrl + D pentru a trimite e-mailul.

$Poștă-s 'subiect'nume de utilizator@gmail.com

Dacă doriți să adăugați corpul mesajului de e-mail în comandă, utilizați „<<<’ operator like the following command.

$Poștă-s 'Subiectul mesajului'nume de utilizator@gmail.com<<< „testarea corpului mesajului”

De asemenea, puteți adăuga adresa de e-mail a expeditorului cu comanda „mail” utilizând opțiunea „-a”. Următoarea comandă va trimite e-mailul cu subiectul, „subiectul mesajului”, numele expeditorului și adresa de e-mail, „Administrator<[e-mail protejat]> ’Și adresa de e-mail a destinatarului,[e-mail protejat]și corpul mesajului, „mesaj de testare”.

$ mail-s 'Subiectul mesajului' -laDe la: Admin <admin@example.com >
nume de utilizator@gmail.com<<< „mesaj de testare”

De asemenea, puteți trimite un corp de mesaj de e-mail utilizând comanda echo și pipe (|). Următoarea comandă utilizează comanda pipe (|) pentru a trimite corpul mesajului.

$aruncat „mesaj de testare” |Poștă-s 'Subiectul mesajului'nume de utilizator@example.com

E-mailul poate fi trimis către mai mulți destinatari utilizând comanda „mail” și adăugând adresele destinatarilor separând virgula. Următoarea comandă va primi un e-mail către doi destinatari.

$Poștă-s „Testarea e-mailului”nume de utilizator1@example.com, nume de utilizator2@example.com<test.txt

Exemplu-3: Utilizarea comenzii `mutt`

Ca și comanda „mail”, comanda „mutt” nu este instalată în mod implicit pe Ubuntu. Rulați următoarea comandă pentru a instala comanda `mutt`.

$sudoaptinstalaremutt

Comanda 'mutt' funcționează similar cu comanda 'mail', dar comanda 'mutt' are propriul editor pentru a trimite e-mailul. Rulați următoarea comandă cu adresa de e-mail validă pentru a trimite e-mailul.

$aruncatmesaj de testare|mutt-s „Testarea e-mailului”nume de utilizator@example.com

Puteți atașa orice fișier folosind opțiunea „-a” cu comanda „mail” sau „mutt”. Următoarea comandă va atașa fișierul items.txt în timp ce trimiteți e-mailul.

$aruncat „mesaj de testare” |mutt-s 'Subiectul mesajului' -laitems.txt-nume de utilizator@gmail.com

Exemplu-4: Utilizarea comenzii „SSMTP”

O altă comandă de e-mail este comanda `ssmtp`. Dacă ssmtp nu este instalat înainte, instalați mai întâi pachetul. Comanda de instalare pentru ssmtp este prezentată în exemplul-1. comenzile ssmtp și sendmail funcționează similar.

Rulați următoarea comandă cu adresa de e-mail validă. Tastați subiectul și corpul e-mailului. Apăsați ctrl + D pentru a ieși și a trimite e-mailul.

$nume de utilizator ssmtp@gmail.com

Exemplu-5: Utilizarea comenzii mailx

Puteți trimite conținut HTML ca corp de e-mail fără a trimite doar mesajul text. Creați un fișier HTML numit „test.html” pentru a-l utiliza ca corp de mesaj.

test.html

< html >
< corp >>
< h3 >Trimitere prin e-mail</ h3 >
< face mărimea=„2” culoare='net'>Testarea corpului mesajului</ face >
<</ corp >
</ html >

Comanda `mailx` funcționează ca comanda„ mail`. Trebuie să menționați Content-Type ca text / html pentru a trimite conținut HTML ca corp al mesajului în comanda `mailx`. Următoarea comandă va trimite conținutul fișierului „test.html” ca corp al mesajului de e-mail.

$ mailx-la „Tip conținut: text / html” -s „Trimiterea e-mailului utilizând mailx”
<test.html„[email protected]”

Când veți verifica căsuța de e-mail a contului de e-mail al destinatarului, atunci lista e-mailurilor va fi afișată ca următoarea imagine.

Concluzie

După ce ați practicat corect comenzile de mai sus, sper că cititorul va putea trimite cu ușurință e-mailuri din linia de comandă în Linux.