Bash skript na odoslanie e -mailu

Bash Script Send Email



E -mail je v dnešnom svete veľmi bežným komunikačným prostriedkom. Odoslaním e -mailu môže ktokoľvek ľahko komunikovať alebo zdieľať akýkoľvek dokument s priateľmi, rodinnými príslušníkmi a kolegami. Na odosielanie e -mailov ľudia spravidla používajú akýkoľvek bezplatný e -mailový server, ako je Gmail, Yahoo, Hotmail atď. V operačnom systéme Linux však môžete ľahko odosielať e -maily z príkazového riadka. V systéme Linux existuje niekoľko spôsobov odosielania e -mailov. V tomto návode sú uvedené niektoré bežné a jednoduché spôsoby odosielania e -mailov v operačnom systéme Ubuntu z terminálu.

Inicializácia:

Mnoho príkazov systému Linux je k dispozícii na odosielanie e -mailov z príkazového riadka alebo pomocou skriptu bash. Akýkoľvek príkaz na odoslanie e -mailu však nebude fungovať, ak v systéme nie je správne nastavený server SMTP. Môžete si nastaviť vlastný server SMTP na odosielanie e-mailov z príkazového riadka alebo môžete použiť ľubovoľný bezplatný server SMTP akéhokoľvek známeho poskytovateľa e-mailových služieb, ako je Gmail alebo Yahoo. V tomto návode sa používa server SMTP účtu Gmail. Na vykonanie tejto úlohy musíte vybrať účet Gmail a povoliť možnosť „Povoliť menej bezpečným aplikáciám“ pre tento účet odosielať e -maily. Ak chcete túto možnosť povoliť, môžete navštíviť nasledujúci návod.







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



Po povolení tejto možnosti musíte otvoriť súbor „/etc/ssmtp/ssmtp.conf“ s oprávnením „root“ a na koniec súboru pridať nasledujúce riadky. Na dokončenie nastavenia musíte nastaviť svoju e -mailovú adresu na „AuthUser“ a svoje e -mailové heslo na „AuthPass“.



PoužiteSTARTTLS= ÁNO
FromLineOverride= ÁNO
koreň= admin@example.com
mailhub= smtp.gmail.com:587
AuthUser= užívateľské meno@gmail.com
AuthPass= heslo

Príklad 1: Použitie príkazu Sendmail

Jeden z populárnych príkazov na odosielanie e -mailov v systéme Linux je `sendmail`. Pomocou tohto príkazu môže používateľ ľahko odosielať e -maily z príkazového riadka. Ak balík Sendmail nie je nainštalovaný v systéme, spustite nasledujúci príkaz na nainštalovanie balíka.





$sudovýstižnýInštaláciassmtp

Predpokladajme, že obsah e -mailu je uložený v súbore s názvom „email.txt“ s nasledujúcim obsahom. Tu bude text za „Predmet:“ odoslaný ako predmet e -mailu a zostávajúca časť bude odoslaná ako telo e -mailu.

email.txt



Predmet: Odosielanie e -mailov pomocou sendmailu
Testovanie tela e -mailu

Spustite príkaz `sendmail 's e -mailovou adresou príjemcu ako nasledujúci príkaz.

$poslať mailpoužívateľské meno@gmail.com<email.txt

Príklad 2: Použitie príkazu „mail“

Najbežnejším príkazom na odosielanie e -mailov v systéme Linux je príkaz `mail`. Tento príkaz nie je predvolene nainštalovaný v Ubuntu. Spustite nasledujúci príkaz a nainštalujte príkaz `mail`.

$sudovýstižnýInštaláciamailutils

Nasledujúci príkaz zobrazí verziu tohto príkazu, ak je nainštalovaný v systéme.

$pošta-V

Voľba „-s“ sa používa v príkaze „mail“ na definovanie predmetu e-mailu. Spustite príkaz „mail“ pomocou možnosti „-s“ s predmetom e-mailu a e-mailovou adresou príjemcu ako nasledujúci príkaz. Požiada o adresu Cc :. Ak nechcete použiť pole Cc:, nechajte ho prázdne a stlačte kláves Enter. Napíšte telo správy a stlačením klávesov Ctrl+D odošlite e -mail.

$pošta-s „predmet“používateľské meno@gmail.com

Ak chcete do príkazu pridať telo e -mailovej správy, použite príkaz „<<<’ operator like the following command.

$pošta-s 'predmet správy'používateľské meno@gmail.com<<< „telo testovacej správy“

E-mailovú adresu odosielateľa môžete pridať aj pomocou príkazu „mail“ pomocou možnosti „-a“. Nasledujúci príkaz odošle e -mail s predmetom, „predmetom správy“, menom odosielateľa a e -mailovou adresou „správca“<[chránené e -mailom]> “A e -mailovú adresu príjemcu,[chránené e -mailom]a telo správy, „testovacia správa“.

$ pošta-s 'predmet správy' -doOd: Admin <admin@example.com >
používateľské meno@gmail.com<<< „testovacia správa“

Telo e -mailovej správy môžete odoslať aj pomocou príkazu echo a pipe (|). Nasledujúci príkaz používa na odoslanie tela správy príkaz pipe (|).

$zahodil „testovacia správa“ |pošta-s 'predmet správy'používateľské meno@example.com

E -mail je možné odoslať viacerým príjemcom pomocou príkazu `mail` a pridaním adries príjemcov oddelením čiarkami. Nasledujúci príkaz bude odoslaný e -mailom dvom príjemcom.

$pošta-s „Testovací e -mail“používateľské meno 1@example.com, užívateľské meno2@example.com<test.txt

Príklad 3: Použitie príkazu `mutt`

Rovnako ako príkaz `mail`, príkaz` mutt` nie je v Ubuntu predvolene nainštalovaný. Spustite nasledujúci príkaz a nainštalujte príkaz `mutt`.

$sudovýstižnýInštaláciaobmedzenec

Príkaz `mutt` funguje podobne ako príkaz` mail`, ale príkaz `mutt` má vlastného editora na odoslanie e -mailu. Na odoslanie e -mailu spustite nasledujúci príkaz s platnou e -mailovou adresou.

$zahodiltestovaciu správu|obmedzenec-s „Testovací e -mail“používateľské meno@example.com

Akýkoľvek súbor môžete pripojiť pomocou možnosti „-a“ pomocou príkazu „mail“ alebo „mutt“. Nasledujúci príkaz pripojí pri odosielaní e -mailu súbor items.txt.

$zahodil „testovacia správa“ |obmedzenec-s 'predmet správy' -doitems.txt-používateľské meno@gmail.com

Príklad 4: Použitie príkazu „SSMTP“

Ďalším príkazom pre e -mail je príkaz `ssmtp`. Ak ssmtp nie je nainštalovaný predtým, nainštalujte si najskôr balík. Inštalačný príkaz pre ssmtp je zobrazený v príklade-1. Príkazy ssmtp a sendmail fungujú podobne.

Spustite nasledujúci príkaz s platnou e -mailovou adresou. Zadajte predmet a telo e -mailu. Ukončite a odošlite e -mail stlačením klávesov ctrl+D.

$užívateľské meno ssmtp@gmail.com

Príklad-5: Použitie príkazu mailx

Obsah HTML môžete odosielať ako telo e -mailu bez odoslania textovej správy. Vytvorte súbor HTML s názvom „test.html“, ktorý použijete ako telo správy.

test.html

< html >
< telo >>
< h3 >Odosielanie e -mailov</ h3 >
< urobiť veľkosť='2' farba='net'>Testovanie tela správy</ urobiť >
<</ telo >
</ html >

Príkaz `mailx` funguje ako príkaz` mail`. Musíte zadať Content-Type ako text/html, ak chcete odoslať obsah HTML ako telo správy v príkaze `mailx`. Nasledujúci príkaz odošle obsah súboru „test.html“ ako telo e -mailovej správy.

$ mailx-do „Typ obsahu: text/html“ -s „Odosielanie e -mailov pomocou mailx“
<test.html'[email protected]'

Keď začiarknete doručenú poštu účtu príjemcu, zoznam e -mailov sa zobrazí ako nasledujúci obrázok.

Záver

Po správnom precvičení vyššie uvedených príkazov dúfajte, že čitateľ bude v systéme Linux schopný ľahko odosielať e -maily z príkazového riadka.