de auteur heeft vrijwillig deze tutorial bijgedragen als onderdeel van het Pepipost Write to Contribute programma.

Inleiding

meldingen worden tegenwoordig steeds belangrijker om op de hoogte te blijven van de verschillende online-activiteiten. Bovendien kunnen deze meldingen e-mails, SMS of push zijn. Deze tutorial gaat u laten zien de eenvoudigste manier van het verzenden van meldingen, via een van de meest populaire kanalen die e-mail. Je gaat het proces van het verzenden van e-mails van de terminal of een shell script van een Linux-besturingssysteem te leren, met behulp van een aantal van de populaire CLI tools.

deze tutorial zal u helpen bij het verzenden van kritische e-mails op serverniveau zoals Cron-rapporten, scriptlogboeken, klantregistraties, ontvangstbewijs, bankafschrift via e-mail. Er zijn vele manieren om e-mails te verzenden vanaf de server, maar laten we de tool verkennen die eenvoudig te installeren en eenvoudig te coderen is.

met eenvoudige bibliotheken en kleine configuraties, kunt u een CLI-tool in uw Linux OS hebben die u kunt gebruiken om mails vanaf de terminal te verzenden.

vereisten

  • Linux-besturingssysteem
  • SMTP-configuraties (SMTP-serverdetails en verificatiegegevens)
  • uw favoriete editor (optioneel)
  • configureer Gmail SMTP/ready Met alle andere aangepaste SMTP-serverdetails. In deze tutorial, je gaat Gmail SMTP gebruiken om e-mails te verzenden, dus zorg ervoor dat;
    undefinedundefined

Google SMTP-serverconfiguraties zouden er ongeveer zo uitzien:

  • SMTP-Server / hostnaam: smtp.gmail.com
  • SMTP-gebruikersnaam:
  • SMTP-wachtwoord:
  • SMTP-poort: 587
  • TLS/SSL: vereist

tijd om terminal

te openen er zijn verschillende hulpmiddelen en bibliotheken die u kunt installeren om e-mails vanaf de terminal te verzenden. Enkele van de populaire bibliotheken zijn:

  • sSMTP
  • Mailx

in deze tutorial leert u de stappen over het installeren en gebruiken van sSMTP om mails te verzenden vanaf uw Linux command line. Klik hier, voor het geval je wilt leren hoe je Mailx installeert en gebruikt om mails te versturen vanaf je Linux command line.

ssmtp installeren om mails te verzenden vanaf uw Linux command line (CLI)

Stap 1

gebruik de onderstaande opdracht om ssmtp te installeren:

sudo apt-get install ssmtp

optioneel:
CentOS-gebruikers kunnen het onderstaande commando gebruiken om ssmtp te installeren:

sudo yum install ssmtp

in CentOS kunt u een fout zien tijdens de installatie Omdat “pakket ssmtp is niet beschikbaar”, in een dergelijk geval onder commando, nuttig zal zijn om het probleem op te lossen:

sudo yum --enablerepo=extras install epel-release

Stap 2

zodra ssmtp succesvol is geïnstalleerd, moet u de onderstaande globale configuraties maken die nodig zijn voor het verzenden van e-mail.

Open het volgende bestand in uw favoriete editor:

sudo vim /etc/ssmtp/ssmtp.conf

Bewerk het bovenstaande bestand met de onderstaande details:

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

de bovenstaande configuratie zal worden gebruikt om e-mail te verzenden met behulp van uw Gmail SMTP. Als u een andere SMTP van derden wilt gebruiken, vermeld dan de hostnaam van dezelfde. als u bijvoorbeeld Pepipost SMTP wilt gebruiken, dan in plaats van smtp.gmail.com, je moet vermelden smtp.pepipost.com in de mailhub parameter. mailhub wordt gebruikt voor SMTP-serveradres dat bestaat uit tweedelige host:poort

nu bent u helemaal klaar om mails te verzenden vanaf de opdrachtregel (CLI).

Stap 3

er zijn meerdere manieren om de ssmtp-opdracht te gebruiken om e-mails te verzenden.

geval 1: Stuur e-Mail rechtstreeks vanaf de opdrachtregel

kopieer en plak hiervoor de onderstaande opdracht en u bent klaar om e-mail te verzenden vanaf uw opdrachtregel:

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

-vvv is de uitgebreidheid om de logs te zien tijdens het versturen van de mail

geval 2: Mail versturen vanuit een Shell Script

u kunt dezelfde ssmtp ook gebruiken om mail te verzenden vanuit een shell script. Voor dat, open uw voorkeur editor en maak een shell script bestand met de naam saymail.shand kopieer-plak de onderstaande code:

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

zorg ervoor dat je de juiste toegangsrechten hebt ingesteld voor je scriptbestand. Zo niet, dan is hier het commando om de toestemming in te stellen:

$ sudo chmod 755 mail.sh 

de code is klaar om uitgevoerd te worden. Voer gewoon het shell script uit met het onderstaande commando:

$ sudo ./mail.sh

hoop nu dat je in staat bent om e-mails te verzenden met behulp van de shell script te.

hieronder zijn enkele fouten/uitzonderingen die u kunt tegenkomen tijdens het verzenden van de e-mail met behulp van ssmtp:

Error 1

in het geval dat tijdens het verzenden van de e-mail, als de onderstaande fout kan krijgen als uitvoer:
ssmtp: autorisatie mislukt (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$ 

oplossing: In een dergelijk geval, probeer te doen volgende als oplossing:

  1. schakel ‘minder veilige app toestaan’ in in de instellingen van uw google-accounts, zoals uitgelegd in de bovenstaande voorwaarden sectie.
  2. de opgegeven inloggegevens kunnen ongeldig zijn. Zorg ervoor dat je de juiste referenties hebt.

zodra het probleem is opgelost, voer het shell-script opnieuw uit en de uitvoer van het succes zal ongeveer als volgt zijn;

$ sudo ./mail.sh

uitvoer:

 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

conclusie

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.