Bash script til at sende e -mail

Bash Script Send Email



E -mail er et meget almindeligt kommunikationsmedium i nutidens verden nu. Alle kan let kommunikere eller dele et hvilket som helst dokument med venner, familiemedlemmer og kolleger ved at sende e -mailen. Generelt bruger folk enhver gratis e -mailserver som Gmail, Yahoo, Hotmail osv. Til at sende e -mailen. Men du kan nemt sende e -mail fra kommandolinjen i Linux -operativsystemet. Der er mange måder at sende e -mail på i Linux. Nogle almindelige og lette måder at sende e -mail i Ubuntu -operativsystemet fra terminalen er vist i denne vejledning.

Initialisering:

Mange Linux -kommandoer er tilgængelige til at sende e -mail fra kommandolinjen eller ved hjælp af et bash -script. Men enhver kommando til afsendelse af e -mails fungerer ikke, hvis ingen SMTP -server er konfigureret korrekt i systemet. Du kan konfigurere din egen SMTP-server til at sende e-mail fra kommandolinjen, eller du kan bruge enhver gratis SMTP-server fra enhver velkendt e-mail-udbyder som Gmail eller Yahoo. SMTP -server på en Gmail -konto bruges i denne vejledning. For at udføre denne opgave skal du vælge en Gmail -konto og aktivere muligheden for 'Tillad mindre sikre apps', for at kontoen kan sende e -mailen. Du kan besøge følgende selvstudie for at aktivere denne mulighed.







https://linuxhint.com/how-to-send-email-from-php/



Når du har aktiveret denne mulighed, skal du åbne filen ‘/etc/ssmtp/ssmtp.conf’ med ‘root’ -privilegium og tilføje følgende linjer i slutningen af ​​filen. Du skal indstille din e -mail -adresse til 'AuthUser' og din e -mail -adgangskode til 'AuthPass' for at fuldføre opsætningen.



BrugSTARTTLS= JA
FromLineOverride= JA
rod= admin@eksempel.com
mailhub= smtp.gmail.com:587
AuthUser= brugernavn@gmail.com
AuthPass= adgangskode

Eksempel-1: Brug af Sendmail-kommando

En af de populære e -mail -kommandoer til Linux er `sendmail`. Brugeren kan nemt sende e -mail fra kommandolinjen ved hjælp af denne kommando. Hvis Sendmail -pakken ikke er installeret i systemet, skal du køre følgende kommando for at installere pakken.





$sudopassendeinstalleressmtp

Antag, at e -mailindholdet er gemt i en fil med navnet 'email.txt' med følgende indhold. Her vil teksten efter 'Emne:' blive sendt som e -mail -emne, og den resterende del vil blive sendt som e -mail -brødtekst.

email.txt



Emne: Send e -mail ved hjælp af sendmail
Test af e -mail -brødtekst

Kør kommandoen 'sendmail' med modtagerens e -mail -adresse som følgende kommando.

$Send mailbrugernavn@gmail.com<email.txt

Eksempel-2: Brug af ‘mail’ kommando

Den mest almindelige kommando til afsendelse af e -mail i Linux er kommandoen `mail`. Denne kommando er som standard ikke installeret på Ubuntu. Kør følgende kommando for at installere kommandoen 'mail'.

$sudopassendeinstalleremailutils

Følgende kommando viser versionen af ​​denne kommando, hvis den er installeret i systemet.

$post-V

'-S' bruges i kommandoen 'mail' til at definere e-mailens emne. Kør kommandoen 'mail' med '-s' med e-mail-emne og modtagerens e-mail-adresse som følgende kommando. Det vil bede om Cc: adresse. Hvis du ikke vil bruge feltet Cc:, skal du holde det tomt og trykke på enter. Skriv meddelelsesteksten, og tryk på Ctrl+D for at sende e -mailen.

$post-s 'emne'brugernavn@gmail.com

Hvis du vil tilføje e -mail -beskedtekst i kommandoen, skal du bruge '<<<’ operator like the following command.

$post-s 'Besked Emne'brugernavn@gmail.com<<< 'test meddelelsestekst'

Du kan også tilføje afsenderens e-mailadresse med kommandoen 'mail' ved at bruge '-a'. Følgende kommando sender e -mailen med emnet, 'meddelelsesemne', afsenderens navn og e -mail -adresse, 'Admin<[e -mail beskyttet]> ’Og modtagerens e -mail -adresse,[e -mail beskyttet]og beskedtekst, 'testbesked'.

$ mail-s 'Besked Emne' -tilFra: Admin <admin@eksempel.com >
brugernavn@gmail.com<<< 'testbesked'

Du kan også sende en brødtekst til e -mail ved hjælp af kommandoen echo og pipe (|). Følgende kommando bruger kommandoen pipe (|) til at sende meddelelsesteksten.

$smed ud 'testbesked' |post-s 'Besked Emne'brugernavn@eksempel.com

E -mail kan sendes til flere modtagere ved at bruge kommandoen `mail` og tilføje modtagerens adresser ved at adskille komma. Følgende kommando sendes en e -mail til to modtagere.

$post-s 'Test af e -mail'brugernavn1@eksempel.com, brugernavn2@eksempel.com<test.txt

Eksempel-3: Brug af kommandoen `mutt`

Ligesom kommandoen `mail` er kommandoen` mutt` ikke installeret på Ubuntu som standard. Kør følgende kommando for at installere kommandoen `mutt`.

$sudopassendeinstalleremutt

kommandoen `mutt` fungerer på samme måde som kommandoen` mail`, men kommandoen `mutt` har sin egen editor til at sende e -mailen. Kør følgende kommando med den gyldige e -mail -adresse for at sende e -mailen.

$smed udtestbesked|mutt-s 'Test af e -mail'brugernavn@eksempel.com

Du kan vedhæfte enhver fil ved hjælp af '-a' med 'mail' eller 'mutt' kommando. Følgende kommando vedhæfter filen items.txt, mens e -mailen sendes.

$smed ud 'testbesked' |mutt-s 'Besked Emne' -tilitems.txt-brugernavn@gmail.com

Eksempel-4: Brug af 'SSMTP' kommando

En anden e -mailkommando er kommandoen `ssmtp`. Hvis ssmtp ikke er installeret før, skal du først installere pakken. Installationskommandoen for ssmtp er vist i eksempel-1. ssmtp og sendmail kommandoer fungerer på samme måde.

Kør følgende kommando med den gyldige e -mail -adresse. Indtast e -mailens emne og brødtekst. Tryk på ctrl+D for at afslutte og sende e -mailen.

$ssmtp brugernavn@gmail.com

Eksempel-5: Brug af mailx Command

Du kan sende HTML -indhold som e -mailtekst uden blot at sende tekstbeskeden. Opret en HTML -fil med navnet 'test.html' til brug som beskedtekst.

test.html

< html >
< legeme >>
< h3 >Afsendelse af e -mail</ h3 >
< lave størrelse='2' farve='net'>Afprøver beskedtekst</ lave >
<</ legeme >
</ html >

kommandoen 'mailx' fungerer som kommandoen 'mail'. Du skal nævne Indholdstype som tekst/html for at sende HTML-indhold som beskedtekst i kommandoen 'mailx'. Følgende kommando sender indholdet af ‘test.html’ -filen som e -mail -meddelelsestekst.

$ mailx-til 'Indholdstype: tekst/html' -s 'Send mail ved hjælp af mailx'
<test.html'[e -mail beskyttet]'

Når du vil kontrollere indbakken til modtagerens e -mail -konto, vises listen over e -mails som følgende billede.

Konklusion

Efter at have øvet ovenstående kommandoer ordentligt, håber læseren let at kunne sende e -mail fra kommandolinjen i Linux.