forfatteren bidrog frivilligt med denne tutorial som en del af Pepipost Skriv for at bidrage program.

introduktion

meddelelser bliver vigtigere i disse dage for at holde sig opdateret blandt forskellige online aktiviteter. Desuden kan disse meddelelser være e-mails, SMS eller push. Denne tutorial vil demonstrere dig den enkleste måde at sende underretninger på, over en af de mest populære kanaler, der er e-mail. Du vil lære processen med at sende e-mails fra terminalen eller et shell-script fra et operativsystem ved hjælp af nogle af de populære CLI-værktøjer.

denne tutorial vil hjælpe dig med at sende kritiske server-niveau e-mails som cron rapporter, script logs, kunderegistreringer, kvittering, kontoudtog via e-mail. Der er mange måder at sende e-mails fra serveren, men lad os undersøge det værktøj, der er let at installere og let at kode.

med enkle biblioteker og små konfigurationer kan du have et CLI-værktøj i dit operativsystem, som du kan bruge til at sende mails fra terminalen.

forudsætninger

  • operativsystem
  • SMTP-konfigurationer (SMTP-serveroplysninger og godkendelsesoplysninger)
  • din foretrukne editor (valgfri)
  • Konfigurer Gmail SMTP/ready med alle andre brugerdefinerede SMTP-serveroplysninger. I denne vejledning skal du bruge Gmail SMTP til at sende e-mails, så sørg for at;
    undefinedundefined

Google SMTP-serverkonfigurationer ville se sådan ud:

  • SMTP-Server / værtsnavn: smtp.gmail.com
  • SMTP brugernavn:
  • SMTP adgangskode:
  • SMTP Port: 587
  • TLS/SSL: påkrævet

det er tid til nu at åbne terminal

der er forskellige værktøjer og biblioteker, som du kan installere for at sende e-mails fra terminalen. Få af de populære biblioteker er:

  • sSMTP
  • mail

i denne tutorial vil du lære trinnene til, hvordan du installerer og bruger sSMTP til at sende mails fra din kommandolinje. Klik her, hvis du vil lære at installere og bruge mail til at sende mails fra din kommandolinje.

Sådan installeres ssmtp for at sende mails fra din kommandolinje

Trin 1

brug nedenstående kommando til at installere ssmtp:

sudo apt-get install ssmtp

Valgfrit:
CentOS-brugere kan bruge nedenstående kommando til at installere ssmtp:

sudo yum install ssmtp

i CentOS kan du muligvis se en fejl under installationen, da “pakke ssmtp ikke er tilgængelig”, i et sådant tilfælde under kommandoen, vil være nyttigt at løse problemet:

sudo yum --enablerepo=extras install epel-release

Trin 2

når ssmtp er installeret korrekt, skal du foretage nedenstående globale konfigurationer, som kræves for at sende mail.

Åbn følgende fil i din yndlingseditor:

sudo vim /etc/ssmtp/ssmtp.conf

Rediger ovenstående fil med nedenstående detaljer:

mailhub=smtp.gmail.com:587useSTARTTLS=YESAuthUser=username-hereAuthPass=password-hereTLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt

ovenstående konfiguration vil blive brugt til at sende e-mail ved hjælp af din Gmail SMTP. Hvis du vil bruge en anden tredjeparts SMTP, skal du nævne værtsnavnet på det samme. F. eks. hvis du vil bruge Pepipost SMTP, så i stedet for smtp.gmail.com, du skal nævne smtp.pepipost.com i mailhub-parameteren. mailhub bruges til SMTP-serveradresse, som består af to del vært:port

nu er du klar til at sende mails fra kommandolinjen (CLI).

Trin 3

der er flere måder at bruge ssmtp-kommandoen til at sende e-mails.

sag 1: Send Mail direkte fra kommandolinjen

til dette skal du kopiere-indsætte nedenstående kommando, og du er klar til at sende e-mail fra din kommandolinje:

echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv 

-vvv er verbosity for at se logfilerne, mens du sender mailen

Case 2: Send Mail fra et Shell Script

du kan også bruge den samme ssmtp til at sende mail fra et shell script. For det skal du åbne din foretrukne editor og oprette en shell script-fil med navnet saymail.shand copy-indsæt nedenstående kode:

#!/bin/sh SUBJECT="Test Subject"TO=""MESSAGE="Hey There! This is a test mail"echo $MESSAGE | sudo ssmtp -vvv $TO

sørg for, at du har indstillet den rigtige tilladelsesadgang til din scriptfil. Hvis ikke, her er kommandoen for at indstille tilladelsen:

$ sudo chmod 755 mail.sh 

nu er koden klar til at blive udført. Kør bare shell-scriptet ved hjælp af nedenstående kommando:

$ sudo ./mail.sh

håber nu du er i stand til at sende mails ved hjælp af shell script også.

nedenfor er få fejl/undtagelser, som du kan støde på, mens du sender mailen ved hjælp af ssmtp:

Fejl 1

i tilfælde af at du sender e-mailen, hvis det kan få nedenstående fejl som output:
ssmtp: autorisation mislykkedes (535 5.7.8 https://support.google.com/mail/?p=BadCredentials u65smyes14952a76922r5pfui.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 sådant tilfælde, prøv at gøre følgende som løsning:

  1. aktiver “Tillad mindre sikker app” i dine google-kontoindstillinger, som forklaret i ovenstående forudsætninger afsnit.
  2. de angivne loginoplysninger kan være ugyldige. Sørg for, at du har de korrekte legitimationsoplysninger.

når problemet er løst, skal du køre shell-scriptet igen, og succesudgangen vil være noget som dette;

$ sudo ./mail.sh

Output:

 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

konklusion

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.