Bash skript za pošiljanje e -pošte

Bash Script Send Email



E -pošta je v današnjem svetu zelo pogost komunikacijski medij. Vsakdo lahko preprosto pošlje e -poštno sporočilo ali deli kateri koli dokument s prijatelji, družinskimi člani in sodelavci. Na splošno ljudje za pošiljanje e -pošte uporabljajo kateri koli brezplačni e -poštni strežnik, kot so Gmail, Yahoo, Hotmail itd. V operacijskem sistemu Linux pa lahko preprosto pošljete e -pošto iz ukazne vrstice. V Linuxu lahko pošiljate e -pošto na več načinov. V tej vadnici je prikazanih nekaj pogostih in enostavnih načinov pošiljanja e -pošte v operacijskem sistemu Ubuntu s terminala.

Inicializacija:

Na voljo je veliko ukazov za pošiljanje e -pošte iz ukazne vrstice ali z uporabo bash skripta. Toda kateri koli ukaz za pošiljanje e -pošte ne bo deloval, če v sistemu ni pravilno nastavljen strežnik SMTP. Za pošiljanje e-pošte iz ukazne vrstice lahko nastavite lasten strežnik SMTP ali pa uporabite kateri koli brezplačni strežnik SMTP katerega koli znanega ponudnika e-poštnih storitev, kot sta Gmail ali Yahoo. V tej vadnici je uporabljen strežnik SMTP za račun Gmail. Če želite opraviti to nalogo, morate izbrati račun za Gmail in omogočiti možnost »Dovoli manj varne aplikacije« za ta račun za pošiljanje e -pošte. Če želite omogočiti to možnost, obiščite naslednjo vadnico.







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



Ko omogočite to možnost, morate odpreti datoteko '/etc/ssmtp/ssmtp.conf' s privilegijem 'root' in dodati naslednje vrstice na koncu datoteke. Za dokončanje nastavitve morate svoj e -poštni naslov nastaviti na »AuthUser«, geslo na »AuthPass«.



Uporabite STARTLS= DA
FromLineOverride= DA
koren= admin@example.com
mailhub= smtp.gmail.com:587
AuthUser= uporabniško ime@gmail.com
AuthPass= geslo

Primer 1: Uporaba ukaza Sendmail

Eden izmed priljubljenih ukazov za pošiljanje e -pošte v sistemu Linux je `sendmail`. S tem ukazom lahko uporabnik enostavno pošlje e -pošto iz ukazne vrstice. Če paket Sendmail ni nameščen v sistemu, zaženite naslednji ukaz, da namestite paket.





$sudoaptnamestitessmtp

Recimo, da je vsebina e -pošte shranjena v datoteki z imenom „email.txt“ z naslednjo vsebino. Tukaj bo besedilo za 'Zadeva:' poslano kot naslov e -pošte, preostali del pa kot telo e -pošte.

email.txt



Zadeva: Pošiljanje e -pošte z uporabo sendmail
Testiranje telesa e -pošte

Zaženite ukaz `sendmail 'z e -poštnim naslovom prejemnika, kot je naslednji ukaz.

$Pošlji poštouporabniško ime@gmail.com<email.txt

Primer 2: Uporaba ukaza 'pošta'

Najpogostejši ukaz za pošiljanje e -pošte v Linuxu je ukaz `mail`. Ta ukaz privzeto ni nameščen na Ubuntu. Za namestitev ukaza `mail` zaženite naslednji ukaz.

$sudoaptnamestitemailutils

Naslednji ukaz bo pokazal različico tega ukaza, če je nameščen v sistemu.

$pošte-V

Možnost '-s' se uporablja v ukazu 'mail' za določitev teme e-pošte. Zaženite ukaz 'pošta' z možnostjo '-s' z zadevo e-pošte in e-poštnim naslovom prejemnika, kot je naslednji ukaz. Zahteval bo naslov Cc:. Če polja Cc: ne želite uporabiti, ga pustite prazno in pritisnite enter. Vnesite telo sporočila in pritisnite Ctrl+D, da pošljete e -poštno sporočilo.

$pošte-s 'predmet'uporabniško ime@gmail.com

Če želite v ukaz dodati telo e -poštnega sporočila, uporabite »<<<’ operator like the following command.

$pošte-s 'zadeva sporočila'uporabniško ime@gmail.com<<< 'preskusno telo sporočila'

E-poštni naslov pošiljatelja lahko dodate tudi z ukazom 'mail' z možnostjo '-a'. Naslednji ukaz bo poslal e -poštno sporočilo z zadevo, 'zadevo sporočila', imenom pošiljatelja in e -poštnim naslovom 'Skrbnik'<[zaščiteno po e -pošti]> 'In e -poštni naslov prejemnika,[zaščiteno po e -pošti]in sporočilo, 'preskusno sporočilo'.

$ pošta-s 'zadeva sporočila' -zaOd: Admin <admin@example.com >
uporabniško ime@gmail.com<<< 'preskusno sporočilo'

Telo e -poštnega sporočila lahko pošljete tudi z ukazom echo in pipe (|). Naslednji ukaz uporablja ukaz pipe (|) za pošiljanje telesa sporočila.

$vrgel ven 'preskusno sporočilo' |pošte-s 'zadeva sporočila'uporabniško ime@example.com

E -poštno sporočilo lahko pošljete več prejemnikom z ukazom 'pošta' in z ločevanjem vejice dodate naslove prejemnikov. Naslednji ukaz bo dva prejemnika poslan po e -pošti.

$pošte-s 'Testiranje e -pošte'uporabniško ime1@example.com, uporabniško ime2@example.com<test.txt

Primer 3: Uporaba ukaza `mutt`

Tako kot ukaz `mail` tudi ukaz` mutt` privzeto ni nameščen v Ubuntuju. Če želite namestiti ukaz `mutt`, zaženite naslednji ukaz.

$sudoaptnamestitemutt

Ukaz `mutt` deluje podobno kot ukaz` mail`, vendar ima ukaz `mutt` svoj urejevalnik za pošiljanje e -pošte. Če želite poslati e -pošto, zaženite naslednji ukaz z veljavnim e -poštnim naslovom.

$vrgel vensporočilo za testiranje|mutt-s 'Testiranje e -pošte'uporabniško ime@example.com

Vsako datoteko lahko priložite z možnostjo '-a' z ukazom 'mail' ali `mutt`. Naslednji ukaz bo pri pošiljanju e -pošte priložil datoteko items.txt.

$vrgel ven 'preskusno sporočilo' |mutt-s 'zadeva sporočila' -zaitems.txt-uporabniško ime@gmail.com

Primer 4: Uporaba ukaza 'SSMTP'

Drug e -poštni ukaz je ukaz `ssmtp`. Če ssmtp ni nameščen prej, najprej namestite paket. Namestitveni ukaz za ssmtp je prikazan v primeru-1. Ukazi ssmtp in sendmail delujejo podobno.

Zaženite naslednji ukaz z veljavnim e -poštnim naslovom. Vnesite zadevo in telo e -poštnega sporočila. Pritisnite ctrl+D za izhod in pošiljanje e -pošte.

$uporabniško ime ssmtp@gmail.com

Primer 5: Uporaba ukaza mailx

Vsebino HTML lahko pošljete kot telo e -pošte, ne da bi samo poslali besedilno sporočilo. Ustvarite datoteko HTML z imenom 'test.html', ki jo boste uporabili kot telo sporočila.

test.html

< html >
< telo >>
< h3 >Pošiljanje e -pošte</ h3 >
< narediti velikost='2' barvo='mreža'>Testiranje telesa sporočila</ narediti >
<</ telo >
</ html >

Ukaz `mailx` deluje kot ukaz` mail`. Če želite poslati vsebino HTML kot telo sporočila v ukazu `mailx`, morate omeniti vrsto vsebine kot besedilo/html. Naslednji ukaz bo poslal vsebino datoteke 'test.html' kot telo e -poštnega sporočila.

$ mailx-za 'Vrsta vsebine: besedilo/html' -s 'Pošiljanje e -pošte z uporabo programa mailx'
<test.html'[zaščiteno po e -pošti]'

Ko boste preverili mapo »Prejeto« prejemnikovega e -poštnega računa, bo seznam e -poštnih sporočil prikazan kot naslednja slika.

Zaključek

Po pravilnem izvajanju zgornjih ukazov upamo, da bo bralec v Linuxu z lahkoto poslal e -pošto iz ukazne vrstice.