När du arbetar med kommandoraden finns det tillfällen då du kanske vill manuellt skicka ett e-postmeddelande för att kommunicera information om en linjetrafik, säg ett komplext kommando eller en viktig anteckning för dig själv eller en vän. Normalt kräver det att du öppnar en webbläsare, loggar in på ditt e-postkonto, ramar ett e-postmeddelande med den information som krävs och skickar sedan den.

Det är för långt av en process för en liten sak, eller hur? Vad händer om du kan göra det från kommandoraden själv? Ja, det är möjligt, och vi har redan diskuterat ett par sätt att göra det på Linux. I den här artikeln kommer vi att diskutera ytterligare tre sätt att skicka e-post från kommandoraden i Linux.

Skicka brev

Sendmail, som du kanske vet, är den klassiska SMTP-servern från UNIX-världen. Det kommer vanligtvis förinstallerat på många Linux-distributioner, men om det inte är fallet med din Linux-låda, kan du enkelt installera den från vanliga repositorier. Till exempel kan användare av Debian-baserade system, som Ubuntu, hämta och installera det med följande kommando:

 sudo apt-get installera mailutils 

När du har installerat kan du enkelt och snabbt skicka ett mail med kommandot sendmail . Här är ett exempel:

 echo "Detta är ett testmeddelande igen" | sendmail [mottagare-email-adress] 

Ovanstående kommando skickar ett e-postmeddelande med texten "Detta är ett testmeddelande igen" till "[mottagare-e-postadress]" (se till att byta ut det, inklusive parenteserna, med mottagarens faktiska e-postadress).

När jag använde min e-postadress i ovanstående kommando fick jag följande e-postadress:

Som i mitt fall kan e-posten landa i din skräppostmapp, så var noga med att kolla där.

Kommandot vi just använde innehöll bara kroppen av e-postmeddelandet. Du kan också lägga till fler detaljer som ämne, från och mer. Till exempel innehåller följande kommando dessa extra fält och kan köras som ett skript:

 echo "Från: [email protected] Till: [email protected] Ämne: Test HTML-e-post Detta är ett test-e-postmeddelande." | sendmail -t 

Här är ögonblicksbilden för e-postmeddelandet som jag mottog när ovanstående kommando kördes:

Telnet

Du kan också använda Telnet-kommandot för att skicka ett e-postmeddelande från kommandoraden. För att göra det, kör följande kommandon (se till att du byter "[avsändare-e-postadress]" och "[mottagare-e-postadress]" med avsändarens respektive mottagarens e-postadress):

 telnet localhost smtp ehlo gmail.com mail från: [avsändare-email-adress] rcpt till: [mottagare-email-adress] data 

Vid denna tidpunkt bör du se en prompten där du måste ange e-postens kropp och se till att meddelandet slutar med en newline följt av en punkt (.). När du är klar trycker du på enter för att skicka e-postmeddelandet och skriv sedan quit att avsluta programmet.

I mitt fall fick jag följande email:

ssmtp

SSMTP är ett verktyg som levererar e-post från en lokal dator till en konfigurerad mailhost (mailhub). Debian-användare kan ladda ner och installera programmet med följande kommando:

 sudo apt-get installera ssmtp 

När du är installerad öppnar /etc/ssmtp/ssmtp.conf filen /etc/ssmtp/ssmtp.conf och redigerar den så att den innehåller följande information:

 mailhub = smtp.gmail.com: 587 AnvändSTARTTLS = JA AuthUser = [avsändare-email-adress] AuthPass = [avsändare-email-inloggnings-lösenord] TLS_CA_File = / etc / pki / tls / certs / ca-bundle.crt 

Se till att du ersätter "[avsändare-email-adress]" och "[avsändare-email-login-password]" med lämpliga värden. Nu, för att skicka ett e-postmeddelande med ssmtp, använd följande kommando:

 ssmtp [mottagare-email-adress] Ämne: [Subject-line-here] [Body of email] 

Återställ "[mottagare-e-postadress]", "[ämnesrad-här]" och "[E-postadress]" med lämpliga värden och skicka e-postmeddelandet genom att trycka på "Ctrl + D."

Om du får följande fel,

 ssmtp: auktorisering misslyckades (534 5.7.9 http://support.google.com/accounts/bin/answer.py?answer=185833 bk8sm8525341pad.28 - gsmtp) 

då är det troligt att Gmail inte behandlar ssmtp som en säker applikation. För att bli av med det här felet måste du ändra en viss inställning i ditt Gmail-konto - för mer information om hur du gör det och dess potentiella risker, se den här supportsidan för Google.

När jag utförde kommandot ovan fick jag följande email:

Slutsats

Med detta har vi diskuterat totalt 5 kommandoradsverktyg som du kan använda för att skicka e-post från Linux-kommandoraden. En viktig punkt som är värt att nämna här är att bortsett från att du använder dessa kommandon för att skicka e-postmeddelanden manuellt från kommandoraden, kan du också använda dem för att generera anmälningsemail från skript.

Har du någonsin använt något av dessa verktyg? Hur var din erfarenhet? Dela dina tankar i kommentarerna nedan.