Bash script upang magpadala ng email

Bash Script Send Email



Ang email ay isang pangkaraniwang medium ng komunikasyon sa mundo ngayon. Ang sinuman ay madaling makipag-usap o makapagbahagi ng anumang dokumento sa mga kaibigan, miyembro ng pamilya, at kasamahan sa pamamagitan ng pagpapadala ng email. Pangkalahatan, gumagamit ang mga tao ng anumang libreng email server tulad ng Gmail, Yahoo, Hotmail atbp para sa pagpapadala ng email. Ngunit maaari kang magpadala ng email mula sa linya ng utos nang madali sa operating system ng Linux. Maraming paraan upang magpadala ng email sa Linux. Ang ilang mga karaniwang at madaling paraan upang magpadala ng email sa operating system ng Ubuntu mula sa terminal ay ipinapakita sa tutorial na ito.

Initialization:

Maraming utos ng Linux ang magagamit upang magpadala ng email mula sa linya ng utos o sa pamamagitan ng paggamit ng isang bash script. Ngunit ang anumang utos na nagpapadala ng email ay hindi gagana kung walang SMTP server na na-set up nang maayos sa system. Maaari mong i-setup ang iyong sariling SMTP server upang magpadala ng email mula sa linya ng utos o maaari mong gamitin ang anumang libreng SMTP server ng anumang kilalang tagapagbigay ng serbisyo sa email tulad ng Gmail o Yahoo. Ang SMTP server ng isang Gmail account ay ginagamit sa tutorial na ito. Upang magawa ang gawaing ito, kailangan mong pumili ng isang Gmail account at paganahin ang pagpipiliang 'Payagan ang mga hindi gaanong ligtas na mga app' para sa account na iyon upang maipadala ang email. Maaari mong bisitahin ang sumusunod na tutorial upang paganahin ang pagpipiliang ito.







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



Matapos paganahin ang pagpipiliang ito, kailangan mong buksan ang file na '/etc/ssmtp/ssmtp.conf' na may pribilehiyong 'root' at idagdag ang mga sumusunod na linya sa dulo ng file. Kailangan mong itakda ang iyong email address sa 'AuthUser' at ang iyong email password sa 'AuthPass' upang makumpleto ang pag-set up.



Gumamit ngSTARTTLS= YES
Mula saLineOverride= YES
ugat= admin@halimbawa.com
mailhub= smtp.gmail.com:587
AuthUser= username@gmail.com
AuthPass= password

Halimbawa-1: Paggamit ng Sendmail Command

Ang isa sa mga tanyag na email na nagpapadala ng mga utos ng Linux ay ang 'sendmail`. Madaling magpadala ang gumagamit ng email mula sa linya ng utos sa pamamagitan ng paggamit ng utos na ito. Kung ang pakete ng Sendmail ay hindi naka-install sa system pagkatapos ay patakbuhin ang sumusunod na utos upang mai-install ang pakete.





$sudoapti-installssmtp

Ipagpalagay, ang nilalaman ng email ay nakaimbak sa isang file na pinangalanang 'email.txt' na may sumusunod na nilalaman. Dito, ang teksto pagkatapos ng ‘Paksa:’ ay ipapadala bilang paksa sa email at ang natitirang bahagi ay ipapadala bilang email body.

email.txt



Paksa: Pagpapadala ng email gamit ang sendmail
Pagsubok sa katawan ng email

Patakbuhin ang utos na `sendmail 'kasama ang tatanggap ng email address tulad ng sumusunod na utos.

$sendmailusername@gmail.com<email.txt

Halimbawa-2: Paggamit ng 'mail' Command

Ang pinakakaraniwang utos para sa pagpapadala ng email sa Linux ay ang utos ng `mail`. Ang utos na ito ay hindi na-install sa Ubuntu bilang default. Patakbuhin ang sumusunod na utos upang mai-install ang utos ng `mail`.

$sudoapti-installmailutil

Ipapakita ng sumusunod na utos ang bersyon ng utos na ito kung naka-install ito sa system.

$mail-V

Ginagamit ang pagpipiliang '-s' sa utos ng `mail` upang tukuyin ang paksa ng email. Patakbuhin ang utos ng `mail 'sa pamamagitan ng pagpipiliang' -s 'na may paksa sa email at ang tatanggap na email address tulad ng sumusunod na utos. Hihingi ito ng Cc: address. Kung hindi mo nais na gamitin ang patlang Cc: pagkatapos ay panatilihin itong blangko at pindutin ang enter. I-type ang body ng mensahe at pindutin ang Ctrl + D upang maipadala ang email.

$mail-s 'paksa'username@gmail.com

Kung nais mong magdagdag ng katawan ng mensahe ng email sa utos pagkatapos ay gamitin ang ‘<<<’ operator like the following command.

$mail-s 'paksa ng mensahe'username@gmail.com<<< 'pagsubok ng katawan ng mensahe'

Maaari mo ring idagdag ang email address ng nagpadala gamit ang utos ng `mail` sa pamamagitan ng paggamit ng pagpipiliang '-a'. Ang sumusunod na utos ay magpapadala ng email na may paksa, 'paksa ng mensahe', pangalan ng nagpadala at email address, 'Admin<[protektado ng email]> ’At tatanggap ng email address,[protektado ng email]at katawan ng mensahe, 'mensahe sa pagsubok'.

$ mail-s 'paksa ng mensahe' -saMula sa: Admin <admin@halimbawa.com >
username@gmail.com<<< 'mensahe sa pagsubok'

Maaari ka ring magpadala ng isang email na nilalaman ng mensahe sa pamamagitan ng paggamit ng echo at tubo (|) na utos. Ang sumusunod na utos ay gumagamit ng tubo (|) na utos upang maipadala ang katawan ng mensahe.

$itinapon 'mensahe sa pagsubok' |mail-s 'paksa ng mensahe'username@halimbawa.com

Maaaring ipadala ang email sa maraming mga tatanggap sa pamamagitan ng paggamit ng `mail` command at pagdaragdag ng mga address ng mga tatanggap sa pamamagitan ng paghihiwalay sa kuwit. Ang sumusunod na utos ay ipapadala sa isang email sa dalawang tatanggap.

$mail-s 'Email sa pagsubok'username1@halimbawa.com, username2@halimbawa.com<pagsubok.txt

Halimbawa-3: Paggamit ng utos ng `mutt`

Tulad ng command na `mail`, ang` mutt` command ay hindi naka-install sa Ubuntu bilang default. Patakbuhin ang sumusunod na utos upang mai-install ang `mutt` command.

$sudoapti-installmutt

Gumagawa ang utos ng `mutt` na katulad ng utos ng` mail` ngunit ang 'mutt` command ay mayroong sariling editor upang maipadala ang email. Patakbuhin ang sumusunod na utos gamit ang wastong email address upang maipadala ang email.

$itinaponmensahe ng pagsubok|mutt-s 'Email sa Pagsubok'username@halimbawa.com

Maaari mong ikabit ang anumang file gamit ang pagpipiliang '-a' gamit ang utos na `mail` o` mutt`. Ang sumusunod na utos ay ilalagay ang mga file item.txt habang nagpapadala ng email.

$itinapon 'mensahe sa pagsubok' |mutt-s 'paksa ng mensahe' -samga item.txt-username@gmail.com

Halimbawa-4: Paggamit ng 'SSMTP' Command

Ang isa pang utos sa email ay utos ng `ssmtp`. Kung ang ssmtp ay hindi nai-install bago pagkatapos ay i-install muna ang package. Ang utos ng pag-install para sa ssmtp ay ipinapakita sa halimbawa-1. gumagana rin ang mga utos ng ssmtp at sendmail.

Patakbuhin ang sumusunod na utos gamit ang wastong email address. I-type ang paksa ng email at katawan. Pindutin ang ctrl + D upang lumabas at ipadala ang email.

$ssmtp username@gmail.com

Halimbawa-5: Paggamit ng mailx Command

Maaari kang magpadala ng nilalaman sa HTML bilang nilalaman ng email nang hindi lamang pagpapadala ng text message. Lumikha ng isang HTML file na pinangalanang 'test.html' upang magamit bilang isang body ng mensahe.

pagsubok.html

< html >
< katawan >>
< h3 >Pagpapadala ng Email</ h3 >
< gumawa laki='2' kulay='net'>Katawan ng Mensahe ng mensahe</ gumawa >
<</ katawan >
</ html >

Gumagawa ang utos ng `mailx` tulad ng utos ng` mail`. Kailangan mong banggitin ang Uri ng Nilalaman bilang teksto / html upang maipadala ang nilalaman ng HTML bilang nilalaman ng mensahe sa utos ng `mailx`. Ang sumusunod na utos ay magpapadala ng nilalaman ng 'test.html' file bilang katawan ng mensahe sa email.

$ mailx-sa 'Uri ng Nilalaman: teksto / html' -s 'Nagpadala ng email sa pamamagitan ng paggamit ng mailx'
<pagsubok.html'[Protektado ang email]'

Kapag susuriin mo ang inbox ng tatanggap na email account pagkatapos ay ipapakita ang listahan ng mga email bilang sumusunod na imahe.

Konklusyon

Matapos maisagawa nang maayos ang mga utos sa itaas, inaasahan na maipadala ng mambabasa ang email mula sa linya ng utos nang madali sa Linux.