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:

  1. Aktiver «Tillat mindre sikker app» i google-kontoinnstillingene dine, som forklart i delen forutsetninger ovenfor.
  2. 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

Konklusjon

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.