Mens du arbeider med kommandolinjen, er det tider når du kanskje vil sende en e-post manuelt til å formidle en-liner-informasjon, si en kompleks kommando eller et viktig notat til deg selv eller en venn. Vanligvis krever det at du åpner en nettleser, logger deg på e-postkontoen din, rammer en e-post som inneholder den nødvendige informasjonen, og sender den deretter.

Det er for lenge med en liten prosess, ikke sant? Hva om du kunne gjøre det fra kommandolinjen selv? Ja, det er mulig, og vi har allerede diskutert et par måter å gjøre det på Linux. I denne artikkelen drøfter vi tre måter å sende e-post fra kommandolinjen i Linux.

Sendmail

Sendmail, som du kanskje vet, er den klassiske SMTP-serveren fra UNIX-verdenen. Det kommer vanligvis forhåndsinstallert på mange Linux-distribusjoner, men hvis det ikke er tilfelle med Linux-boksen, kan du enkelt installere den fra standardregister. For eksempel kan brukere av Debian-baserte systemer, som Ubuntu, laste ned og installere det ved å bruke følgende kommando:

 sudo apt-get installer mailutils 

Når du er installert, kan du enkelt og raskt sende en e-post ved hjelp av sendmail kommandoen. Her er et eksempel:

 ekko "Dette er en test e-post igjen" | sendmail [mottaker-e-postadresse] 

Kommandoen ovenfor sender en e-post som inneholder teksten "Dette er en test e-post igjen" til "[mottakere-e-postadresse]" (sørg for å erstatte den, inkludert brakettene, med mottakerens e-postadresse).

Da jeg brukte e-postadressen min i kommandoen ovenfor, fikk jeg følgende e-postadresse:

Som i mitt tilfelle kan e-posten lande i din spammappe, så vær sikker på å sjekke det.

Kommandoen vi nettopp brukte inneholdt bare kroppen til e-posten. Du kan også legge til flere detaljer som emne, fra og mer. For eksempel inneholder følgende kommando disse ekstra feltene, og kan kjøres som et skript:

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

Her er øyeblikksbildet av e-posten jeg mottok da kommandoen ovenfor ble kjørt:

Telnet

Du kan også bruke Telnet-kommandoen til å sende en e-post fra kommandolinjen. For å gjøre det, kjør følgende kommandoer (sørg for å erstatte "[senders-email-adresse]" og "[mottakere-e-postadresse]" med henholdsvis avsenderens og mottakers e-postadresse):

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

På dette tidspunktet bør du se en melding der du må legge inn e-postens kropp og sørge for at meldingen avsluttes med en ny linje etterfulgt av en prikk (.). Når du er ferdig, trykker du på enter for å sende e-posten og skriver deretter quit å avslutte programmet.

I mitt tilfelle mottok jeg følgende e-post:

SSMTP

SSMTP er et verktøy som leverer e-post fra en lokal datamaskin til en konfigurert mailhost (mailhub). Debian-brukere kan laste ned og installere programmet ved å bruke følgende kommando:

 sudo apt-get install ssmtp 

Når installert, åpner du filen /etc/ssmtp/ssmtp.conf og redigerer den for å sikre at den inneholder følgende informasjon:

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

Pass alltid på å erstatte "[senders-email-adresse]" og "[senders-email-login-password]" med passende verdier. Nå, for å sende en e-post ved hjelp av ssmtp, bruk følgende kommando:

 ssmtp [mottaker-e-postadresse] Emne: [emne-linje-her] [Body of email] 

Igjen, erstatt "[mottaker-e-postadresse]", "[emnelinje-her]" og "[E-postadresse]" med passende verdier og send e-posten ved å trykke "Ctrl + D."

Hvis du får følgende feil,

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

da er det sannsynlig fordi Gmail ikke behandler ssmtp som et sikkert program. For å kvitte seg med denne feilen må du endre en bestemt innstilling i Gmail-kontoen din - for mer informasjon om hvordan du gjør det, og dets potensielle farer, se denne supportsiden for Google.

Da jeg kjørte over kommandoen, fikk jeg følgende e-post:

Konklusjon

Med dette har vi diskutert totalt 5 kommandolinjeverktøy som du kan bruke til å sende e-post fra Linux-kommandolinjen. Et viktig punkt å nevne her er at bortsett fra å bruke disse kommandoene for å sende e-post manuelt fra kommandolinjen, kan du også bruke dem til å generere varsel e-post fra skript.

Har du noen gang brukt noen av disse verktøyene? Hvordan var din erfaring? Del dine tanker i kommentarene nedenfor.