a szerző önként hozzájárult ehhez az oktatóanyaghoz a Pepipost Write to Contribute program részeként.
Bevezetés
az értesítések manapság egyre fontosabbak, hogy naprakészek maradjanak a különféle online tevékenységek között. Sőt, ezek az értesítések lehetnek e-mailek, SMS vagy push. Ez az oktatóanyag bemutatja az értesítések küldésének legegyszerűbb módját, az egyik legnépszerűbb csatornán, az e-mailen keresztül. Meg fogja tanulni az e-mailek küldésének folyamatát a terminálról vagy egy shell szkriptet egy Linux operációs rendszerről, néhány népszerű CLI eszköz segítségével.
ez a bemutató fog segíteni a küldő kritikus szerver szintű e-maileket, mint a Cron jelentések, script naplók, ügyfél regisztrációk, nyugta, bankszámlakivonat e-mailben. Számos módja van az e-mailek küldésének a szerverről, de fedezzük fel a könnyen telepíthető és könnyen kódolható eszközt.
egyszerű könyvtárakkal és kis konfigurációkkal rendelkezhet egy CLI eszköz a Linux operációs rendszerben, amellyel leveleket küldhet a terminálról.
előfeltételek
- Linux operációs rendszer
- SMTP-konfigurációk (SMTP-kiszolgáló adatai és hitelesítési adatok)
- kedvenc szerkesztője (opcionális)
- a Gmail SMTP/ready konfigurálása bármely más egyéni SMTP-kiszolgáló adataival. Ebben az oktatóanyagban a Gmail SMTP-t fogja használni e-mailek küldésére, ezért győződjön meg róla;
undefinedundefined
a Google SMTP szerver konfigurációi így néznének ki:
- SMTP szerver / Hostname: smtp.gmail.com
- SMTP felhasználónév:
- SMTP jelszó:
- SMTP Port: 587
- TLS/SSL: szükséges
itt az ideje, hogy most nyissa meg a terminált
különféle eszközök és könyvtárak telepíthetők e-mailek küldésére a terminálról. A népszerű könyvtárak közül kevés:
- sSMTP
- Mailx
ebben az oktatóanyagban megtudhatja, hogyan kell telepíteni és használni az sSMTP-t e-mailek küldéséhez a Linux parancssorából. Kattintson ide, ha meg szeretné tudni, hogyan kell telepíteni és használni a Mailx-et e-mailek küldéséhez a Linux parancssorából.
az sSMTP telepítése e-mailek küldése Linux parancssorból (CLI)
1. lépés
az ssmtp telepítéséhez használja az alábbi parancsot:
sudo apt-get install ssmtp
opcionális:
a CentOS felhasználók az alábbi paranccsal telepíthetik az ssmtp-t:
sudo yum install ssmtp
a CentOS, előfordulhat, hogy egy hiba a telepítés során, mint “csomag ssmtp nem áll rendelkezésre”, ebben az esetben az alábbi parancsot, lesz hasznos, hogy megoldja a problémát:
sudo yum --enablerepo=extras install epel-release
2. lépés
az ssmtp sikeres telepítése után el kell végeznie az alábbi globális konfigurációkat, amelyek szükségesek a levelek küldéséhez.
nyissa meg a következő fájlt a kedvenc szerkesztőjében:
sudo vim /etc/ssmtp/ssmtp.conf
Szerkessze a fenti fájlt az alábbi részletekkel:
mailhub=smtp.gmail.com:587useSTARTTLS=YESAuthUser=username-hereAuthPass=password-hereTLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
a fenti konfiguráció fog használni, hogy küldjön e-mailt a Gmail SMTP. Abban az esetben, ha más harmadik féltől származó SMTP-t szeretne használni, akkor említse meg annak gazdagépnevét. például ha Pepipost SMTP-t szeretne használni, akkor ahelyett, hogy smtp.gmail.com, meg kell említenie smtp.pepipost.com a mailhub paraméterben. mailhub használják SMTP szerver címét, amely két részből áll host: port
most már minden beállítva, hogy küldjön leveleket a parancssorból (CLI).
3.lépés
az ssmtp parancsnak többféle módja van e-mailek küldésére.
1. eset: Levél küldése közvetlenül a parancssorból
ehhez másolja be az alábbi parancsot, és készen áll arra, hogy e-mailt küldjön a parancssorból:
echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv
-vvv a bőbeszédű, hogy a naplók küldése közben az e-mail
2. eset: levél küldése Shell scriptből
ugyanazt az ssmtp-t használhatja shell szkriptből is. Ehhez nyissa meg a kívánt szerkesztőt, és hozzon létre egy shell script fájlt saymail névvel.shand copy-illessze be az alábbi kódot:
#!/bin/sh SUBJECT="Test Subject"TO=""MESSAGE="Hey There! This is a test mail"echo $MESSAGE | sudo ssmtp -vvv $TO
győződjön meg róla, hogy beállította a megfelelő engedélyt hozzáférést a script fájlt. Ha nem, itt van a parancs az engedély beállításához:
$ sudo chmod 755 mail.sh
a kód készen áll a végrehajtásra. Csak futtassa a shell szkriptet az alábbi paranccsal:
$ sudo ./mail.sh
remélem, most már tudja, hogy küldjön e-mailt a shell script is.
az alábbiakban néhány hiba/kivétel található, amelyekkel az ssmtp használatával küldhet levelet:
hiba 1
abban az esetben, ha az e-mail küldése közben az alábbi hibát kaphatja kimenetként:
ssmtp: az Engedélyezés sikertelen (535 5.7.8 https://support.google.com/mail/?p=BadCredentials u65smyez14952a76922r5pfui.104-gsmtp)
220 smtp.gmail.com ESMTP u65sm14952769pfu.104 - gsmtp EHLO kali 250 SMTPUTF8 STARTTLS 220 2.0.0 Ready to start TLS EHLO kali 250 SMTPUTF8 AUTH LOGIN 334 VXNlcm5edhbAWU6 dmlzaGFsY2hhasd2dWhhbjIyMTJAZ21haWwuY29t 334 EUEeGFzc3dvfcaqQ6 535 5.7.8 https://support.google.com/mail/?p=BadCredentials u65smyez14952a76922r5pfui.104 - gsmtpssmtp: Authorization failed (535 5.7.8 https://support.google.com/mail/?p=BadCredentials u65smyez14952a76922r5pfui.104 - gsmtp):~/Documents/Scripts$
megoldás: Ebben az esetben próbálkozzon a következővel, mint megoldással:
- engedélyezze a” kevésbé biztonságos alkalmazás engedélyezése ” lehetőséget a google-fiókok beállításaiban, a fenti előfeltételek részben leírtak szerint.
- a megadott bejelentkezési adatok érvénytelenek lehetnek. Ellenőrizze, hogy rendelkezik-e a megfelelő hitelesítő adatokkal.
miután a probléma megoldódott, futtassa újra a shell szkriptet, és a sikeres kimenet valami hasonló lesz;
$ sudo ./mail.sh
kimenet:
220 smtp.gmail.com ESMTP h8sm1096aae22880pfo.64 - gsmtp EHLO kali 250 SMTPUTF8 STARTTLS 220 2.0.0 Ready to start TLS EHLO kali 250 SMTPUTF8 AUTH LOGIN 334 VXNlcm5edhbAWU6 dmlzaGFsY2hhasd2dWhhbjIyMTJAZ21haWwuY29t 334 UGFzqc3dmvcmQ36 235 2.7.0 Accepted MAIL FROM:<> 250 2.1.0 OK h8smqer10962480pfo.64 - gsmtp RCPT TO:<> 250 2.1.5 OK h8smqer10962480pfo.64 - gsmtp DATA 354 Go ahead h8sm10962880pfo.64 - gsmtp Received: by kali (sSMTP sendmail emulation); Thu, 19 Sep 2019 21:45:14 +0530 From: "root" <> Date: Thu, 19 Sep 2019 21:45:14 +0530 Hey There! This is a test mail . 250 2.0.0 OK 1568909725 h8smqer10962480pfo.64 - gsmtp QUIT 221 2.0.0 closing connection h8smqer10962480pfo.64 - gsmtp