forfatteren frivillig bidratt denne opplæringen som en del Av Pepipost Skrive Å Bidra program.
Introduksjon
Varsler blir viktigere i disse dager for å holde seg oppdatert blant ulike nettaktiviteter. Videre kan disse varslene være e-post, SMS eller push. Denne opplæringen skal vise deg den enkleste måten å sende meldinger, over en av de mest populære kanalene som er e-post. Du skal lære prosessen med å sende e-post fra terminalen eller et skallskript fra Et Linux-operativsystem, ved hjelp av noen av de populære cli-verktøyene.
denne opplæringen skal hjelpe deg med å sende kritiske e-postmeldinger på servernivå som Cron-rapporter, skriptlogger, kunderegistreringer, kvittering, kontoutskrift via e-post. Det er mange måter å sende e-post fra serveren, men la oss utforske verktøyet som er enkelt å installere og enkelt å kode.
med enkle biblioteker og små konfigurasjoner kan du ha ET cli-verktøy i Linux OS som du kan bruke til å sende e-post fra terminalen.
Forutsetninger
- Linux operativsystem
- SMTP-Konfigurasjoner(SMTP-serverdetaljer og autentiseringslegitimasjon)
- favorittredigereren Din (Valgfritt)
- Konfigurer Gmail SMTP/ready med andre tilpassede smtp-serverdetaljer. I denne opplæringen skal du bruke Gmail SMTP til å sende e-post, så sørg for at;
undefinedundefined
Google SMTP-serverkonfigurasjoner vil se slik ut:
- SMTP Server / Vertsnavn: smtp.gmail.com
- SMTP Brukernavn:
- SMTP passord:
- SMTP Port: 587
- Tls/SSL: Påkrevd
Det er på tide å nå åpne terminal
det finnes ulike verktøy og biblioteker som du kan installere for å sende e-post fra terminalen. Få av de populære bibliotekene er:
- sSMTP
- Mailx
i denne opplæringen skal du lære trinnene for hvordan du installerer og bruker sSMTP til å sende e-post fra Linux-kommandolinjen. Klikk her, hvis du vil lære å installere Og bruke Mailx til å sende e-post Fra Linux-kommandolinjen.
slik installerer du sSMTP for å sende e-post Fra Linux-kommandolinjen (CLI)
Trinn 1
Bruk kommandoen nedenfor for å installere ssmtp:
sudo apt-get install ssmtp
Valgfritt:
CentOS-brukere kan bruke kommandoen nedenfor for å installere ssmtp:
sudo yum install ssmtp
I CentOS kan du se en feil under installasjonen som «pakke ssmtp er ikke tilgjengelig», i et slikt tilfelle under kommandoen, vil være nyttig for å fikse problemet:
sudo yum --enablerepo=extras install epel-release
Trinn 2
Når ssmtp er installert, må du gjøre de globale konfigurasjonene nedenfor som kreves for å sende e-post.
Åpne følgende fil i favoritteditoren din:
sudo vim /etc/ssmtp/ssmtp.conf
Rediger filen ovenfor med detaljene nedenfor:
mailhub=smtp.gmail.com:587useSTARTTLS=YESAuthUser=username-hereAuthPass=password-hereTLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
ovennevnte konfigurasjon skal brukes til å sende e-post ved HJELP Av Gmail SMTP. Hvis du vil bruke EN ANNEN TREDJEPARTS SMTP, nevner du vertsnavnet til det samme. for eksempel hvis Du vil bruke Pepipost SMTP, så i stedet for smtp.gmail.com, du må nevne smtp.pepipost.com i mailhub-parameteren. mailhub brukes TIL SMTP-serveradresse som består av todelt vert: port
Nå er du klar til å sende e-post fra kommandolinjen (CLI).
Trinn 3
det er flere måter å bruke ssmtp-kommandoen til å sende e-post.
Tilfelle 1: Send E-Post Direkte Fra Kommandolinjen
for dette, kopier-lim inn kommandoen nedenfor, og du er klar til å sende e-post fra kommandolinjen:
echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv
-vvv er detaljnivået for å se loggene mens du sender posten
Sak 2: Send E-Post Fra Et Skallskript
Du kan bruke samme ssmtp til å sende e-post fra et skallskript også. For det, åpne din foretrukne redaktør og opprett en shell script-fil med navn saymail.shand kopier-lim inn koden nedenfor:
#!/bin/sh SUBJECT="Test Subject"TO=""MESSAGE="Hey There! This is a test mail"echo $MESSAGE | sudo ssmtp -vvv $TO
Pass på at du har angitt riktig tillatelsestilgang til skriptfilen din. Hvis ikke, her er kommandoen for å sette tillatelsen:
$ sudo chmod 755 mail.sh
nå er koden klar til å bli henrettet. Bare kjør shell script ved hjelp av kommandoen nedenfor:
$ sudo ./mail.sh
Håper nå du er i stand til å sende e-post ved hjelp av shell script også.
nedenfor er få feil/unntak som du kan støte på mens du sender e-posten ved hjelp av ssmtp:
Feil 1
i tilfelle mens du sender e-posten, kan det hende at feilen nedenfor vises som utgang:
Ssmtp: Autorisasjon mislyktes (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$
Løsning: I et slikt tilfelle, prøv å gjøre følgende som løsning:
- Aktiver «Tillat mindre sikker app» i google-kontoinnstillingene dine, som forklart i delen forutsetninger ovenfor.
- den angitte påloggingsinformasjonen kan være ugyldig. Kontroller at du har riktig legitimasjon.
når problemet er løst, kjør shell-skriptet på nytt og suksessutgangen vil være noe slikt;
$ sudo ./mail.sh
Utgang:
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