Bash skript pro odeslání e -mailu

Bash Script Send Email



E -mail je v dnešním světě velmi běžným komunikačním prostředkem. Odesláním e -mailu může kdokoli snadno komunikovat nebo sdílet jakýkoli dokument s přáteli, členy rodiny a kolegy. Obecně lidé používají k odesílání e -mailů jakýkoli bezplatný e -mailový server, jako je Gmail, Yahoo, Hotmail atd. V operačním systému Linux však můžete snadno odesílat e -maily z příkazového řádku. V Linuxu existuje mnoho způsobů odesílání e -mailů. V tomto tutoriálu jsou uvedeny některé běžné a snadné způsoby odesílání e -mailů v operačním systému Ubuntu z terminálu.

Inicializace:

Mnoho příkazů Linux je k dispozici pro odesílání e -mailů z příkazového řádku nebo pomocí skriptu bash. Jakýkoli příkaz k odeslání e -mailu však nebude fungovat, pokud v systému není správně nastaven žádný server SMTP. Můžete nastavit svůj vlastní server SMTP pro odesílání e-mailů z příkazového řádku nebo můžete použít jakýkoli bezplatný server SMTP jakéhokoli známého poskytovatele e-mailových služeb, jako je Gmail nebo Yahoo. V tomto kurzu se používá server SMTP účtu Gmail. Chcete -li tento úkol provést, musíte pro tento účet odeslat e -mail vybrat účet Gmail a povolit možnost „Povolit méně zabezpečené aplikace“. Tuto možnost můžete povolit v následujícím kurzu.







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



Po povolení této možnosti musíte otevřít soubor „/etc/ssmtp/ssmtp.conf“ s oprávněním „root“ a na konec souboru přidat následující řádky. K dokončení nastavení musíte nastavit svou e -mailovou adresu na „AuthUser“ a heslo k e -mailu na „AuthPass“.



PoužijteSTARTTLS= ANO
FromLineOverride= ANO
vykořenit= admin@example.com
mailhub= smtp.gmail.com:587
AuthUser= uživatelské jméno@gmail.com
AuthPass= heslo

Příklad 1: Použití příkazu Sendmail

Jedním z populárních příkazů pro odesílání e -mailů v Linuxu je `sendmail`. Pomocí tohoto příkazu může uživatel snadno odesílat e -maily z příkazového řádku. Pokud balíček Sendmail není v systému nainstalován, spusťte následující příkaz a balíček nainstalujte.





$sudovýstižnýNainstalujtessmtp

Předpokládejme, že obsah e -mailu je uložen v souboru s názvem „email.txt“ s následujícím obsahem. Zde bude text za „Předmět:“ odeslán jako předmět e -mailu a zbývající část bude odeslána jako tělo e -mailu.

email.txt



Předmět: Odesílání e -mailů pomocí sendmailu
Testování těla e -mailu

Spusťte příkaz `sendmail 's e -mailovou adresou příjemce jako následující příkaz.

$poslat mailuživatelské jméno@gmail.com<email.txt

Příklad 2: Použití příkazu „mail“

Nejběžnějším příkazem pro odesílání e -mailů v Linuxu je příkaz `mail`. Tento příkaz není ve výchozím nastavení nainstalován v Ubuntu. Spuštěním následujícího příkazu nainstalujte příkaz `mail`.

$sudovýstižnýNainstalujtemailutils

Následující příkaz zobrazí verzi tohoto příkazu, pokud je v systému nainstalován.

$pošta-PROTI

Možnost „-s“ se používá v příkazu „mail“ k definování předmětu e-mailu. Spusťte příkaz „mail“ pomocí možnosti „-s“ s předmětem e-mailu a e-mailovou adresou příjemce jako následující příkaz. Požádá o adresu Cc :. Pokud nechcete použít pole Cc:, ponechte jej prázdné a stiskněte Enter. Zadejte text zprávy a stisknutím Ctrl+D odešlete e -mail.

$pošta-s 'předmět'uživatelské jméno@gmail.com

Pokud chcete do příkazu přidat tělo e -mailové zprávy, použijte příkaz „<<<’ operator like the following command.

$pošta-s 'předmět zprávy'uživatelské jméno@gmail.com<<< 'testovací tělo zprávy'

E-mailovou adresu odesílatele můžete přidat také pomocí příkazu „mail“ pomocí volby „-a“. Následující příkaz odešle e -mail s předmětem, „předmět zprávy“, jménem odesílatele a e -mailovou adresou „administrátor“<[chráněno emailem]> ‘A e -mailovou adresu příjemce,[chráněno emailem]a tělo zprávy, „testovací zpráva“.

$ pošta-s 'předmět zprávy' -naOd: Admin <admin@example.com >
uživatelské jméno@gmail.com<<< 'testovací zpráva'

Tělo e -mailové zprávy můžete také odeslat pomocí příkazu echo a pipe (|). Následující příkaz používá k odeslání těla zprávy příkaz pipe (|).

$vyhodil 'testovací zpráva' |pošta-s 'předmět zprávy'uživatelské jméno@example.com

E -mail lze odeslat více příjemcům pomocí příkazu `mail` a přidáním adres příjemců oddělením čárkami. Následující příkaz bude odeslán e -mail dvěma příjemcům.

$pošta-s 'Testovací e -mail'uživatelské jméno 1@example.com, uživatelské jméno2@example.com<test.txt

Příklad 3: Použití příkazu `mutt`

Stejně jako příkaz `mail`, příkaz` mutt` není ve výchozím nastavení nainstalován v Ubuntu. Spuštěním následujícího příkazu nainstalujte příkaz `mutt`.

$sudovýstižnýNainstalujtemutt

Příkaz `mutt` funguje podobně jako příkaz` mail`, ale příkaz `mutt` má vlastní editor pro odeslání e -mailu. K odeslání e -mailu spusťte následující příkaz s platnou e -mailovou adresou.

$vyhodiltestovací zpráva|mutt-s 'Testovací e -mail'uživatelské jméno@example.com

Libovolný soubor můžete připojit pomocí volby „-a“ pomocí příkazů „mail“ nebo „mutt“. Následující příkaz připojí při odesílání e -mailu soubor items.txt.

$vyhodil 'testovací zpráva' |mutt-s 'předmět zprávy' -naitems.txt-uživatelské jméno@gmail.com

Příklad 4: Použití příkazu „SSMTP“

Dalším e -mailovým příkazem je příkaz `ssmtp`. Pokud ssmtp není nainstalován dříve, nainstalujte nejprve balíček. Instalační příkaz pro ssmtp je uveden v příkladu-1. Příkazy ssmtp a sendmail fungují podobně.

Spusťte následující příkaz s platnou e -mailovou adresou. Zadejte předmět a tělo e -mailu. Ukončete a odešlete e -mail stisknutím kláves ctrl+D.

$uživatelské jméno ssmtp@gmail.com

Příklad-5: Použití příkazu mailx

Obsah HTML můžete odeslat jako tělo e -mailu, aniž byste pouze odeslali textovou zprávu. Vytvořte soubor HTML s názvem „test.html“, který použijete jako tělo zprávy.

test.html

< html >
< tělo >>
< h3 >Odesílání e -mailem</ h3 >
< udělat velikost='2' barva='síť'>Testování těla zprávy</ udělat >
<</ tělo >
</ html >

Příkaz `mailx` funguje jako příkaz 'mail`. Chcete-li odeslat obsah HTML jako tělo zprávy v příkazu `mailx`, musíte uvést Content-Type jako text/html. Následující příkaz odešle obsah souboru „test.html“ jako tělo e -mailové zprávy.

$ mailx-na 'Content-Type: text/html' -s 'Odesílání e -mailů pomocí mailx'
<test.html'[email protected]'

Když zaškrtnete doručenou poštu účtu příjemce, seznam e -mailů se zobrazí jako následující obrázek.

Závěr

Po správném procvičení výše uvedených příkazů doufejte, že čtenář bude moci v Linuxu snadno odesílat e -maily z příkazového řádku.