„Bash“ scenarijus, skirtas siųsti el

Bash Script Send Email



Elektroninis paštas yra labai paplitusi komunikacijos priemonė šiuolaikiniame pasaulyje. Kiekvienas gali lengvai bendrauti ar bendrinti bet kokį dokumentą su draugais, šeimos nariais ir kolegomis, išsiųsdamas el. Paprastai žmonės el. Laiškams siųsti naudoja bet kurį nemokamą el. Pašto serverį, pvz., „Gmail“, „Yahoo“, „Hotmail“ ir pan. Bet jūs galite lengvai siųsti el. Laišką iš komandinės eilutės naudodami „Linux“ operacinę sistemą. „Linux“ yra daug būdų siųsti el. Šiame vadove pateikiami keli paprasti ir paprasti būdai siųsti laiškus „Ubuntu“ operacinėje sistemoje iš terminalo.

Inicijavimas:

Daugelį „Linux“ komandų galima siųsti el. Laiškus iš komandinės eilutės arba naudojant „bash“ scenarijų. Bet bet kuri el. Pašto siuntimo komanda neveiks, jei sistemoje nebus tinkamai nustatytas SMTP serveris. Galite nustatyti savo SMTP serverį siųsti el. Laiškus iš komandinės eilutės arba galite naudoti bet kurį nemokamą bet kurio žinomo el. Pašto paslaugų teikėjo, pvz., „Gmail“ ar „Yahoo“, SMTP serverį. Šiame vadove naudojamas „Gmail“ paskyros SMTP serveris. Norėdami atlikti šią užduotį, turite pasirinkti „Gmail“ paskyrą ir įgalinti parinktį „Leisti mažiau saugias programas“, kad ta paskyra galėtų siųsti el. Laišką. Norėdami įjungti šią parinktį, galite apsilankyti šioje pamokoje.







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



Įgalinę šią parinktį, turite atidaryti failą „/etc/ssmtp/ssmtp.conf“ su „root“ privilegija ir failo pabaigoje pridėti šias eilutes. Norėdami užbaigti sąranką, turite nustatyti savo el. Pašto adresą „AuthUser“, o el. Pašto slaptažodį - „AuthPass“.



NaudokiteSTARTTLS= TAIP
FromLineOverride= TAIP
šaknis= administratorius@example.com
mailhub= smtp.gmail.com:587
AuthUser= vartotojo vardas@gmail.com
AuthPass= slaptažodis

1 pavyzdys: „Sendmail“ komandos naudojimas

Viena iš populiariausių „Linux“ el. Pašto siuntimo komandų yra „sendmail“. Naudodamas šią komandą vartotojas gali lengvai siųsti el. Laiškus iš komandinės eilutės. Jei „Sendmail“ paketas nėra įdiegtas sistemoje, paleiskite šią komandą, kad įdiegtumėte paketą.





$sudotinkamasdiegtissmtp

Tarkime, el. Pašto turinys yra saugomas faile, pavadintame „email.txt“, kurio turinys yra toks. Čia tekstas po „Tema:“ bus išsiųstas kaip el. Laiško tema, o likusi dalis bus išsiųsta kaip el. Laiško turinys.

paštas.txt



Tema: El. Laiško siuntimas naudojant sendmail
Tikrinamas el. Pašto tekstas

Vykdykite komandą „sendmail“ su gavėjo el. Pašto adresu, kaip nurodyta toliau.

$Išsiųsti laiškąVartotojo vardas@gmail.com<paštas.txt

2 pavyzdys: „Mail“ komandos naudojimas

Dažniausia el. Laiškų siuntimo „Linux“ komanda yra komanda „mail“. Ši komanda nėra įdiegta „Ubuntu“ pagal numatytuosius nustatymus. Norėdami įdiegti komandą „mail“, paleiskite šią komandą.

$sudotinkamasdiegtipaštu

Ši komanda parodys šios komandos versiją, jei ji įdiegta sistemoje.

$Paštas-V

„-S“ parinktis naudojama komandoje „mail“, kad apibrėžtų el. Laiško temą. Vykdykite komandą „mail“ naudodami parinktį „-s“ su el. Pašto tema ir gavėjo el. Pašto adresu, kaip nurodyta šioje komandoje. Jis paprašys Cc: adreso. Jei nenorite naudoti „Cc:“ lauko, palikite jį tuščią ir paspauskite „Enter“. Įveskite pranešimo tekstą ir paspauskite Ctrl+D, kad išsiųstumėte el. Laišką.

$Paštas-s 'tema'Vartotojo vardas@gmail.com

Jei prie komandos norite pridėti el. Laiško turinį, naudokite „<<<’ operator like the following command.

$Paštas-s 'Žinutės tema'Vartotojo vardas@gmail.com<<< „tikrinimo pranešimo turinys“

Taip pat galite pridėti siuntėjo el. Pašto adresą naudodami komandą „mail“, naudodami parinktį „-a“. Ši komanda išsiųs el. Laišką su tema, „pranešimo tema“, siuntėjo vardu ir el. Pašto adresu „Administratorius“<[apsaugotas el. paštas]> “Ir gavėjo el. Pašto adresą,[apsaugotas el. paštas]ir pranešimo tekstas - „bandomasis pranešimas“.

$ paštas-s 'Žinutės tema' Nuo: Administratorius <admin@example.com >
Vartotojo vardas@gmail.com<<< „bandomasis pranešimas“

Taip pat galite siųsti el. Laiško turinį naudodami komandą „echo and pipe“ (|). Ši komanda naudoja vamzdžio (|) komandą pranešimo turiniui siųsti.

$išmetė „bandomasis pranešimas“ |Paštas-s 'Žinutės tema'Vartotojo vardas@example.com

Laiškus galima išsiųsti keliems gavėjams naudojant komandą „mail“ ir pridedant gavėjų adresus atskiriant kablelį. Ši komanda bus išsiųsta el. Paštu dviem gavėjams.

$Paštas-s „Tikrinamas el. Paštas“vartotojo vardas1@example.com, vartotojo vardas2@example.com<test.txt

3 pavyzdys: Naudokite komandą „mutt“

Kaip ir „mail“ komanda, „mutt“ komanda nėra įdiegta „Ubuntu“ pagal numatytuosius nustatymus. Norėdami įdiegti komandą „mutt“, paleiskite šią komandą.

$sudotinkamasdiegtimutt

„mutt“ komanda veikia panašiai kaip „mail“ komanda, tačiau komanda „mutt“ turi savo redaktorių el. Norėdami išsiųsti el. Laišką, paleiskite šią komandą su galiojančiu el. Pašto adresu.

$išmetėbandomasis pranešimas|mutt-s „Tikrinamas el. Paštas“Vartotojo vardas@example.com

Galite pridėti bet kurį failą naudodami „-a“ parinktį naudodami komandą „mail“ arba „mutt“. Ši komanda siunčiant el. Laišką pridės failą items.txt.

$išmetė „bandomasis pranešimas“ |mutt-s 'Žinutės tema' items.txt-Vartotojo vardas@gmail.com

4 pavyzdys: „SSMTP“ komandos naudojimas

Kita el. Pašto komanda yra komanda „ssmtp“. Jei „ssmtp“ neįdiegta anksčiau, pirmiausia įdiekite paketą. „Ssmtp“ diegimo komanda parodyta 1 pavyzdyje. ssmtp ir sendmail komandos veikia panašiai.

Vykdykite šią komandą su galiojančiu el. Pašto adresu. Įveskite el. Laiško temą ir turinį. Norėdami išeiti ir išsiųsti el. Laišką, paspauskite „Ctrl“+D.

$ssmtp vartotojo vardą@gmail.com

5 pavyzdys: „Mailx“ komandos naudojimas

Galite siųsti HTML turinį kaip el. Pašto turinį nesiųsdami tik teksto pranešimo. Sukurkite HTML failą pavadinimu „test.html“ ir naudokite kaip pranešimo turinį.

test.html

< html >
< kūnas >>
< h3 >El. Laiškų siuntimas</ h3 >
< padaryti dydžio=„2“ spalva='tinklas'>Bandomasis pranešimo tekstas</ padaryti >
<</ kūnas >
</ html >

„mailx“ komanda veikia kaip „mail“ komanda. Turite paminėti „Content-Type“ kaip tekstą/html, jei norite siųsti HTML turinį kaip pranešimo tekstą komandoje „mailx“. Ši komanda siųs „test.html“ failo turinį kaip el. Laiško turinį.

$ mailx „Turinio tipas: tekstas/html“ -s „El. Laiškų siuntimas naudojant„ mailx “
<test.html'[apsaugotas el. paštas]'

Kai tikrinate gavėjo el. Pašto paskyros gautuosius, el. Laiškų sąrašas bus rodomas kaip šis vaizdas.

Išvada

Tinkamai atlikę aukščiau nurodytas komandas, tikiuosi, kad skaitytojas galės lengvai siųsti el. Laiškus iš komandinės eilutės „Linux“.