Mens du arbejder med kommandolinjen, er der tidspunkter, hvor du måske vil sende en e-mail manuelt til at kommunikere en-linjers information, sig en kompleks kommando eller en vigtig note til dig selv eller en ven. Normalt kræver det at du åbner en webbrowser, logger på din e-mail-konto, rammer en e-mail med de nødvendige oplysninger, og sender den derefter.

Det er for langt af en proces for en lille ting, ikke? Hvad hvis du kunne gøre det fra selve kommandolinjen? Ja, det er muligt, og vi har allerede diskuteret et par måder at gøre det i Linux. I denne artikel vil vi diskutere tre flere måder at sende e-mail fra kommandolinjen i Linux.

Send mail

Sendmail, som du måske ved, er den klassiske SMTP-server fra UNIX-verdenen. Det kommer som regel forudinstalleret på mange Linux-distributioner, men hvis det ikke er tilfældet med din Linux-boks, kan du nemt installere det fra standardarkiver. For eksempel kan brugere af Debian-baserede systemer, som Ubuntu, downloade og installere det ved hjælp af følgende kommando:

 sudo apt-get install mailutils 

Når du er installeret, kan du nemt og hurtigt sende en email ved hjælp af sendmail kommandoen. Her er et eksempel:

 ekko "Dette er en test email igen" | sendmail [modtagere-email-adresse] 

Ovennævnte kommando sender en e-mail med teksten "Dette er en test email igen" til "[modtagere-email-adresse]" (sørg for at erstatte den, herunder parenteserne med den aktuelle e-mail-adresse til modtageren).

Da jeg brugte min emailadresse i ovenstående kommando, fik jeg følgende email:

Som i mit tilfælde kunne e-mailen lande i din spam mappe, så sørg for at tjekke der.

Den kommando, vi lige brugte, indeholdt kun emnet i emnet. Du kan også tilføje flere detaljer som emne, fra og mere. F.eks. Indeholder følgende kommando disse ekstra felter, og kan køres som et script:

 ekko "Fra: [email protected] Til: [email protected] Emne: Test HTML e-mail Dette er en test email." | sendmail -t 

Her er et øjebliksbillede af den email, jeg modtog, da ovennævnte kommando blev kørt:

Telnet

Du kan også bruge Telnet-kommandoen til at sende en email fra kommandolinjen. For at gøre det skal du køre følgende kommandoer (sørg for at erstatte "[afsender-e-mail-adresse]" og "[modtagere-email-adresse]" med henholdsvis afsenderens og modtagerens e-mail-adresse):

 telnet localhost smtp ehlo gmail.com mail fra: [senders-email-address] rcpt til: [receivers-email-address] data 

På dette tidspunkt skal du se en prompt, hvor du skal indtaste emnets krop, og sørg for, at meddelelsen slutter med en newline efterfulgt af en prik (.). Når du er færdig, tryk på enter for at sende e-mailen, og skriv derefter quit at afslutte programmet.

I mit tilfælde modtog jeg følgende email:

ssmtp

SSMTP er et værktøj, der leverer email fra en lokal computer til en konfigureret mailhost (mailhub). Debian-brugere kan downloade og installere programmet ved hjælp af følgende kommando:

 sudo apt-get install ssmtp 

Når du er installeret, skal du åbne filen /etc/ssmtp/ssmtp.conf og redigere den for at sikre, at den indeholder følgende oplysninger:

 mailhub = smtp.gmail.com: 587 BrugSTARTTLS = JA AuthUser = [afsender-email-adresse] AuthPass = [afsender-email-login-password] TLS_CA_File = / etc / pki / tls / certs / ca-bundle.crt 

Sørg altid for at erstatte "[afsender-email-adresse]" og "[afsender-email-login-password]" med passende værdier. Nu, for at sende en e-mail ved hjælp af ssmtp, brug følgende kommando:

 ssmtp [modtagere-email-adresse] Emne: [Subject-line-here] [Body of email] 

I stedet erstattes "[modtagere-e-mail-adresse]", "[emnelinje-her]" og "[E-mail-emne]" med passende værdier og sende e-mailen ved at trykke på "Ctrl + D."

Hvis du modtager følgende fejl,

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

så er det sandsynligt, fordi Gmail ikke behandler ssmtp som en sikker applikation. For at slippe af med denne fejl skal du ændre en bestemt indstilling i din Gmail-konto - hvis du vil have flere oplysninger om, hvordan du gør det, og dets potentielle risici, henvises du til denne supportside for Google.

Da jeg udførte ovennævnte kommando, fik jeg følgende email:

Konklusion

Med dette har vi diskuteret i alt 5 kommandolinjeværktøjer, som du kan bruge til at sende e-mail fra Linux-kommandolinjen. Et vigtigt punkt værd at nævne her er, at bortset fra at bruge disse kommandoer til at sende e-mails manuelt fra kommandolinjen, kan du også bruge dem til at generere meddelelsesemails fra scripts.

Har du nogensinde brugt nogen af ​​disse værktøjer? Hvordan var din oplevelse? Del dine tanker i kommentarerne nedenfor.