Bash -skript för att skicka e -post

Bash Script Send Email



E -post är ett mycket vanligt kommunikationsmedium i dagens värld nu. Vem som helst kan enkelt kommunicera eller dela dokument med vänner, familjemedlemmar och kollegor genom att skicka e -postmeddelandet. I allmänhet använder folk alla gratis e -postserver som Gmail, Yahoo, Hotmail etc. för att skicka e -postmeddelandet. Men du kan enkelt skicka e -post från kommandoraden i Linux -operativsystemet. Det finns många sätt att skicka e -post i Linux. Några vanliga och enkla sätt att skicka e -post i Ubuntu -operativsystemet från terminalen visas i denna handledning.

Initiering:

Många Linux -kommandon är tillgängliga för att skicka e -post från kommandoraden eller med ett bash -skript. Men alla e -postkommandon fungerar inte om ingen SMTP -server är korrekt konfigurerad i systemet. Du kan konfigurera din egen SMTP-server för att skicka e-post från kommandoraden eller så kan du använda en gratis SMTP-server från alla välkända e-postleverantörer som Gmail eller Yahoo. SMTP -server för ett Gmail -konto används i den här självstudien. För att utföra denna uppgift måste du välja ett Gmail -konto och aktivera alternativet 'Tillåt mindre säkra appar' för att kontot ska skicka e -postmeddelandet. Du kan besöka följande handledning för att aktivera det här alternativet.







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



När du har aktiverat det här alternativet måste du öppna filen ‘/etc/ssmtp/ssmtp.conf’ med ‘root’ -behörighet och lägga till följande rader i slutet av filen. Du måste ange din e -postadress till 'AuthUser' och ditt e -postlösenord till 'AuthPass' för att slutföra installationen.



AnvändSTARTTLS= JA
FromLineOverride= JA
rot= admin@exempel.com
mailhub= smtp.gmail.com:587
AuthUser= användarnamn@gmail.com
AuthPass= lösenord

Exempel-1: Använda kommandot Sendmail

Ett av de populära e -postkommandona för Linux är `sendmail`. Användaren kan enkelt skicka e -post från kommandoraden med det här kommandot. Om Sendmail -paketet inte är installerat i systemet kör du följande kommando för att installera paketet.





$sudobenägenInstallerassmtp

Antag att e -postinnehållet lagras i en fil med namnet ‘email.txt’ med följande innehåll. Här kommer texten efter 'Ämne:' att skickas som e -postämne och den återstående delen kommer att skickas som e -posttext.

email.txt



Ämne: Skicka e -post med sendmail
Testar e -posttext

Kör kommandot 'sendmail' med mottagarens e -postadress som följande kommando.

$skicka brevAnvändarnamn@gmail.com<email.txt

Exempel 2: Använda kommandot ‘mail’

Det vanligaste kommandot för att skicka e -post i Linux är kommandot 'mail'. Detta kommando är inte installerat på Ubuntu som standard. Kör följande kommando för att installera kommandot 'mail'.

$sudobenägenInstalleramailutils

Följande kommando visar versionen av detta kommando om det är installerat i systemet.

$post-V

'-S' alternativet används i kommandot 'mail' för att definiera ämnet för e-postmeddelandet. Kör kommandot 'mail' med '-s' med e-postämne och mottagarens e-postadress som följande kommando. Det kommer att be om Cc: -adress. Om du inte vill använda Cc: -fältet, håll det tomt och tryck på enter. Skriv meddelandetexten och tryck på Ctrl+D för att skicka e -postmeddelandet.

$post-s 'ämne'Användarnamn@gmail.com

Om du vill lägga till e -postmeddelande i kommandot använder du '<<<’ operator like the following command.

$post-s 'Meddelandets Ämne'Användarnamn@gmail.com<<< 'testa meddelandetext'

Du kan också lägga till avsändarens e-postadress med kommandot 'mail' genom att använda alternativet '-a'. Följande kommando skickar e -postmeddelandet med ämnet, 'meddelandets ämne', avsändarens namn och e -postadress 'Admin<[e -postskyddad]> ’Och mottagarens e -postadress,[e -postskyddad]och meddelandetext, 'testmeddelande'.

$ post-s 'Meddelandets Ämne' -tillFrån: Admin <administration@exempel.com >
Användarnamn@gmail.com<<< 'testmeddelande'

Du kan också skicka ett e -postmeddelande med hjälp av kommandot echo and pipe (|). Följande kommando använder kommandot pipe (|) för att skicka meddelandetexten.

$kastade ut 'testmeddelande' |post-s 'Meddelandets Ämne'Användarnamn@exempel.com

E -post kan skickas till flera mottagare genom att använda kommandot `mail` och lägga till mottagarnas adresser genom att separera komma. Följande kommando skickas ett e -postmeddelande till två mottagare.

$post-s 'Testar e -post'användarnamn1@exempel.com, användarnamn2@exempel.com<test.txt

Exempel 3: Använda kommandot 'mutt'

Som kommandot 'mail' är kommandot 'mutt' inte installerat på Ubuntu som standard. Kör följande kommando för att installera kommandot `mutt`.

$sudobenägenInstalleramutt

'mutt' -kommandot fungerar ungefär som' mail' -kommandot, men 'mutt' -kommandot har en egen editor för att skicka e -postmeddelandet. Kör följande kommando med den giltiga e -postadressen för att skicka e -postmeddelandet.

$kastade uttestmeddelande|mutt-s 'Testa e -post'Användarnamn@exempel.com

Du kan bifoga vilken fil som helst med alternativet '-a' med kommandot 'mail' eller 'mutt'. Följande kommando bifogar filen items.txt medan du skickar e -postmeddelandet.

$kastade ut 'testmeddelande' |mutt-s 'Meddelandets Ämne' -tillitems.txt-Användarnamn@gmail.com

Exempel-4: Använda kommandot 'SSMTP'

Ett annat e -postkommando är kommandot `ssmtp`. Om ssmtp inte har installerats innan installerar du paketet först. Installationskommandot för ssmtp visas i exemplet-1. ssmtp och sendmail kommandon fungerar på samma sätt.

Kör följande kommando med den giltiga e -postadressen. Skriv e -postämnet och brödtexten. Tryck på ctrl+D för att avsluta och skicka e -postmeddelandet.

$ssmtp användarnamn@gmail.com

Exempel-5: Använda mailx Command

Du kan skicka HTML -innehåll som e -posttext utan att bara skicka textmeddelandet. Skapa en HTML -fil med namnet 'test.html' för att användas som meddelandetext.

test.html

< html >
< kropp >>
< h3 >Skicka e -post</ h3 >
< göra storlek='2' Färg='netto'>Testar meddelandetext</ göra >
<</ kropp >
</ html >

kommandot 'mailx' fungerar som kommandot 'mail'. Du måste nämna Content-Type som text/html för att skicka HTML-innehåll som meddelandetext i kommandot 'mailx'. Följande kommando skickar innehållet i filen 'test.html' som e -postmeddelande.

$ mailx-till 'Innehållstyp: text/html' -s 'Skicka e -post med mailx'
<test.html'[e -postskyddad]'

När du markerar inkorgen för mottagarens e -postkonto visas listan över e -postmeddelanden som följande bild.

Slutsats

Efter att ha övat ovanstående kommandon ordentligt, hoppas läsaren enkelt kan skicka e -post från kommandoraden i Linux.