Bash -skript e -kirja saatmiseks

Bash Script Send Email



E -post on tänapäeva maailmas väga levinud suhtlusvahend. Igaüks saab hõlpsalt suhelda või jagada mis tahes dokumenti sõprade, pereliikmete ja kolleegidega, saates e -kirja. Üldiselt kasutavad inimesed e -kirjade saatmiseks mis tahes tasuta e -posti serverit, nagu Gmail, Yahoo, Hotmail jne. Kuid Linuxi opsüsteemis saate käsurealt meilisõnumeid hõlpsalt saata. Linuxis on meilide saatmiseks palju võimalusi. Selles õpetuses on näidatud mõned tavalised ja lihtsad viisid meilide saatmiseks Ubuntu operatsioonisüsteemis terminalist.

Initsialiseerimine:

Paljud Linuxi käsud on saadaval e -kirjade saatmiseks käsurealt või bash -skripti abil. Kuid e -kirjade saatmise käsk ei tööta, kui süsteemis pole SMTP -serverit õigesti seadistatud. Saate seadistada oma SMTP-serveri käsurealt e-kirjade saatmiseks või kasutada mis tahes tuntud e-posti teenusepakkuja, näiteks Gmaili või Yahoo, mis tahes tasuta SMTP-serverit. Selles õpetuses kasutatakse Gmaili konto SMTP -serverit. Selle ülesande täitmiseks peate valima Gmaili konto ja lubama sellel kontol e -kirja saatmiseks valiku „Luba vähem turvalised rakendused”. Selle valiku lubamiseks võite külastada järgmist õpetust.







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



Pärast selle valiku lubamist peate avama faili '/etc/ssmtp/ssmtp.conf' root -õigusega ja lisama faili lõppu järgmised read. Seadistamise lõpuleviimiseks peate määrama oma e -posti aadressiks AuthUser ja e -posti parooliks AuthPass.



KasutageSTARTTLS= JAH
FromLineOverride= JAH
juur= admin@example.com
mailhub= smtp.gmail.com:587
AuthUser= kasutajanimi@gmail.com
AuthPass= parool

Näide-1: Sendmaili käsu kasutamine

Üks populaarsemaid Linuxi e -posti saatmise käske on 'sendmail'. Kasutaja saab seda käsku kasutades käsurealt hõlpsalt e -kirju saata. Kui Sendmaili paketti pole süsteemi installitud, käivitage paketi installimiseks järgmine käsk.





$sudoasjakohanepaigaldadassmtp

Oletame, et meilisisu salvestatakse järgmise sisuga faili nimega „email.txt”. Siin saadetakse tekst pärast teemat: e -kirja teema ja ülejäänud osa saadetakse e -posti kehana.

email.txt



Teema: meilide saatmine sendmailiga
E -kirja sisu testimine

Käivitage käsk sendmail koos adressaadi e -posti aadressiga, nagu järgmine käsk.

$kirja saatmakasutajanimi@gmail.com<email.txt

Näide-2: käsu 'mail' kasutamine

Kõige tavalisem käsk e -kirjade saatmiseks Linuxis on käsk 'mail'. See käsk pole Ubuntule vaikimisi installitud. Käsu 'mail' installimiseks käivitage järgmine käsk.

$sudoasjakohanepaigaldadamailutils

Järgmine käsk näitab selle käsu versiooni, kui see on süsteemi installitud.

$posti teel-V

'-S' suvandit kasutatakse käsus 'mail' e-kirja teema määratlemiseks. Käivitage käsk „mail” suvandiga „-s” koos e-posti teema ja adressaadi e-posti aadressiga, nagu järgmine käsk. See küsib Cc: aadressi. Kui te ei soovi välja Cc: kasutada, hoidke see tühjana ja vajutage sisestusklahvi. Sisestage sõnumi sisu ja vajutage e -kirja saatmiseks Ctrl+D.

$posti teel-s 'teema'kasutajanimi@gmail.com

Kui soovite käsule lisada e -kirja sisu, kasutage nuppu „<<<’ operator like the following command.

$posti teel-s 'sõnumi teema'kasutajanimi@gmail.com<<< 'testing message body'

Saatja e-posti aadressi saate lisada ka käsuga 'mail', kasutades valikut '-a'. Järgmine käsk saadab e -kirja koos teema, „sõnumi teema”, saatja nime ja e -posti aadressiga „Administraator”<[e -post kaitstud]> ”Ja adressaadi e -posti aadress,[e -post kaitstud]ja sõnumi sisu, „testisõnum”.

$ mail-s 'sõnumi teema' -juurdeSaatja: administraator <admin@example.com >
kasutajanimi@gmail.com<<< 'testisõnum'

Saate saata ka meilisõnumi sisu, kasutades käsku echo and pipe (|). Järgmine käsk kasutab sõnumi sisu saatmiseks käsku pipe (|).

$viskas välja 'testisõnum' |posti teel-s 'sõnumi teema'kasutajanimi@example.com

E -kirju saab saata mitmele adressaadile, kasutades käsku 'mail' ja lisades adressaatide aadressid, eraldades need komaga. Järgmine käsk saadetakse e -kirjaga kahele adressaadile.

$posti teel-s „E -posti testimine”kasutajanimi 1@example.com, kasutajanimi2@example.com<test.txt

Näide-3: käsu 'mutt' kasutamine

Nagu käsk 'mail', pole käsk 'mutt' Ubuntule vaikimisi installitud. Käsu 'mutt' installimiseks käivitage järgmine käsk.

$sudoasjakohanepaigaldadamutt

Käsk 'mutt' töötab sarnaselt käsuga 'mail', kuid käsul 'mutt' on e -kirja saatmiseks oma redaktor. E -kirja saatmiseks käivitage järgmine käsk kehtiva e -posti aadressiga.

$viskas väljatestimise sõnum|mutt-s „E -posti testimine”kasutajanimi@example.com

Saate lisada mis tahes faili valiku „-a” abil käsuga „mail” või „mutt”. Järgmine käsk lisab e -kirja saatmisel faili items.txt.

$viskas välja 'testisõnum' |mutt-s 'sõnumi teema' -juurdeitems.txt-kasutajanimi@gmail.com

Näide-4: käsu SSMTP kasutamine

Teine e -posti käsk on käsk ssmtp. Kui ssmtp pole enne installitud, installige esmalt pakett. Ssmtp installikäsk on näidatud näites-1. ssmtp ja sendmail käsud töötavad sarnaselt.

Käivitage järgmine käsk kehtiva e -posti aadressiga. Sisestage e -kirja teema ja keha. Väljumiseks ja e -kirja saatmiseks vajutage klahvikombinatsiooni ctrl+D.

$ssmtp kasutajanimi@gmail.com

Näide-5: mailx-käsu kasutamine

Saate saata HTML -i sisu e -posti sisuna ilma tekstisõnumit saatmata. Looge sõnumiteks kasutamiseks HTML -fail nimega „test.html”.

test.html

< html >
< keha >>
< h3 >Meilide saatmine</ h3 >
< tegema suurus='2' värvi='võrk'>Testimise sõnumi sisu</ tegema >
<</ keha >
</ html >

'mailx' käsk toimib nagu 'mail'. HTML-sisu saatmiseks käsu 'mailx' sõnumitekstina peate mainima Content-Type teksti/html-na. Järgmine käsk saadab faili „test.html” sisu meilisõnumi kehaks.

$ mailx-juurde „Sisu tüüp: tekst/html” -s 'E -kirjade saatmine mailxi abil'
<test.html'[email protected]'

Kui kontrollite adressaadi meilikonto postkasti, kuvatakse meilide loend järgmise pildina.

Järeldus

Pärast ülaltoodud käskude nõuetekohast harjutamist loodame, et lugeja saab Linuxis käsurealt meilisõnumeid hõlpsalt saata.