kirjoittaja on vapaaehtoisesti antanut tämän opetusohjelman osana Pepipost Write to Contribute-ohjelmaa.
Johdanto
ilmoitukset ovat nykyään entistä tärkeämpiä pysyäkseen ajan tasalla erilaisten verkkotoimintojen parissa. Lisäksi nämä ilmoitukset voivat olla sähköposteja, tekstiviestejä tai push. Tämä opetusohjelma aikoo osoittaa sinulle yksinkertaisin tapa lähettää ilmoituksia, yli yksi suosituimmista kanavista, joka on sähköposti. Aiot oppia lähettää sähköposteja terminaalista tai shell script Linux-käyttöjärjestelmästä käyttäen joitakin suosittuja CLI-työkaluja.
tämä opetusohjelma auttaa sinua lähettämään kriittisiä palvelintason sähköposteja, kuten Cron-raportteja, komentosarjalokeja, asiakkaiden rekisteröintejä, kuitteja, tiliotteita sähköpostitse. On monia tapoja lähettää sähköposteja palvelimelta, mutta katsotaanpa tutkia työkalu, joka on helppo asentaa ja helppo koodata.
yksinkertaisilla kirjastoilla ja pienillä kokoonpanoilla Linux-käyttöjärjestelmässä voi olla Cli-työkalu, jolla voi lähettää viestejä päätelaitteesta.
Edeltävät opinnot
- Linux-käyttöjärjestelmä
- SMTP-kokoonpanot (SMTP-palvelimen tiedot ja tunnistustiedot)
- suosikkieditorisi (valinnainen)
- Määritä Gmailin SMTP/valmis muiden mukautettujen SMTP-palvelimen tietojen kanssa. Tässä opetusohjelmassa, aiot käyttää Gmail SMTP lähettää sähköposteja, joten varmista, että;
määrittelemätön
Googlen SMTP-palvelinkokoonpanot näyttäisivät jotakuinkin tältä:
- SMTP-palvelin/palvelinnimi: smtp.gmail.com
- SMTP-käyttäjätunnus:
- SMTP-salasana:
- SMTP-portti: 587
- TLS/SSL: vaaditaan
its time to now open terminal
on olemassa erilaisia työkaluja ja kirjastoja, jotka voit asentaa sähköpostien lähettämiseen terminaalista. Suosittuja kirjastoja ovat:
- sSMTP
- Mailx
tässä opetusohjelmassa opit ohjeet Ssmtp: n asentamisesta ja käytöstä Linuxin komentoriviltä tulevien sähköpostien lähettämiseen. Klikkaa tästä, jos haluat oppia asentamaan ja käyttämään Mailx: ää sähköpostien lähettämiseen Linux-komentoriviltä.
Ssmtp: n asentaminen sähköpostien lähettämiseen Linux-komentoriviltä (CLI)
Vaihe 1
käytä alla olevaa komentoa ssmtp: n asentamiseen:
sudo apt-get install ssmtp
valinnainen:
CentOS-käyttäjät voivat käyttää alla olevaa komentoa ssmtp: n asentamiseen:
sudo yum install ssmtp
CentOS-kentässä saattaa ilmetä virhe asennuksen aikana, koska ”paketti ssmtp ei ole käytettävissä”, tällaisessa tapauksessa komennon alapuolella, tulee olemaan avuksi ongelman korjaamisessa:
sudo yum --enablerepo=extras install epel-release
Vaihe 2
kun ssmtp on asennettu onnistuneesti, sinun on tehtävä alla olevat yleiset kokoonpanot, jotka vaaditaan sähköpostin lähettämiseen.
avaa seuraava tiedosto suosikkieditorissasi:
sudo vim /etc/ssmtp/ssmtp.conf
muokkaa yllä olevaa tiedostoa alla olevilla tiedoilla:
mailhub=smtp.gmail.com:587useSTARTTLS=YESAuthUser=username-hereAuthPass=password-hereTLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
edellä määritystä aiotaan käyttää sähköpostin lähettämiseen Gmailin SMTP: n avulla. Jos haluat käyttää jotain muuta kolmannen osapuolen SMTP, sitten mainita hostname saman. esim. Jos haluat käyttää Pepipost SMTP: tä, sen sijaan, että smtp.gmail.com, sinun täytyy mainita smtp.pepipost.com mailhub-parametrissa. mailhubia käytetään SMTP-palvelinosoitteeseen, joka koostuu kahdesta osasta isäntää:portti
nyt olet valmis lähettämään viestejä komentoriviltä (CLI).
Vaihe 3
on olemassa useita tapoja käyttää ssmtp-komentoa sähköpostien lähettämiseen.
tapaus 1: Lähetä sähköpostia suoraan komentoriviltä
tätä varten kopioi-liitä alla oleva komento ja olet valmis lähettämään sähköpostia komentoriviltäsi:
echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv
-vvv on monisanainen tapa nähdä lokit lähetettäessä postia
Case 2: lähetä postia Komentotulkkikomennolta
voit käyttää samaa ssmtp: tä lähettääksesi postia myös komentotulkkikomennolta. Tätä varten, avaa haluamasi editori ja luoda shell script tiedoston nimi saymail.Shand kopioi-liitä alla oleva koodi:
#!/bin/sh SUBJECT="Test Subject"TO=""MESSAGE="Hey There! This is a test mail"echo $MESSAGE | sudo ssmtp -vvv $TO
varmista, että olet määrittänyt komentosarjatiedoston käyttöoikeudet. Jos ei, tässä on komento, joka määrittää luvan:
$ sudo chmod 755 mail.sh
koodi on valmis toteutettavaksi. Suorita komentotulkin skripti alla olevalla komennolla:
$ sudo ./mail.sh
Hope nyt voit lähettää viestejä käyttäen shell script liian.
alla on muutamia virheitä / poikkeuksia, joita saatat kohdata lähettäessäsi sähköpostia käyttäen ssmtp:
virhe 1
jos lähetät sähköpostia, if saattaa saada alla olevan virheen tulosteena:
ssmtp: valtuutus epäonnistui (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$
ratkaisu: Tällaisessa tapauksessa, yritä tehdä seuraavat ratkaisu:
- Ota käyttöön ”Salli vähemmän turvallinen sovellus” google-tilien asetuksissa, kuten edellä edeltävät edellytykset-osiossa on selitetty.
- annetut kirjautumistiedot voivat olla virheellisiä. Varmista, että sinulla on oikeat tunnukset.
kun ongelma on korjattu, suorita komentotulkin skripti uudelleen ja menestystulos on jotain tällaista;
$ sudo ./mail.sh
tuloste:
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