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:

  1. 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.
  2. 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

következtetés

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.