De smarteste måder at sende e-mail fra kommandolinjen

selvom et halvt århundrede er gået siden den første e-mail-meddelelse blev sendt, er vi stadig afhængige af gammel teknologi dagligt. Moderne e-mail-klienter og-tjenester er slanke, nemme at bruge og fyldt med mere avancerede funktioner, end de fleste brugere ved, hvordan de skal bruge.

nogle gange er alt, hvad du skal gøre, imidlertid at sende en simpel tekstbesked, og du kan muligvis ikke altid starte en GUI-applikation eller logge ind på en e-mail-grænseflade for at få arbejdet gjort. I sådanne situationer er det praktisk at vide, hvordan man sender e-mail fra kommandolinjen, og denne artikel forklarer, hvordan man gør netop det.

før vi begynder

før vi beskriver de smarteste måder at sende e-mail fra kommandolinjen, hvad du kan forvente at lære ved at læse denne artikel:

du lærer at sende e-mail-beskeder via din e-mail-udbyders SMTP-server til enhver e-mail-adresse.

du lærer ikke, hvordan du konfigurerer din e-mail-server og bruger den til at sende e-mails direkte.

hvorfor ikke? Fordi ingen ville acceptere e-mails sendt fra din e-mail-server alligevel. Som du ved, er spam et stort problem, når det kommer til e-mail, og stort set alle e-mail-tjenesteudbydere og mailservere inkluderer nu mindst grundlæggende spambeskyttelse, der får alle e-mails fra tvivlsomme kilder til at blive afvist.

en ivrig bruger med en DIY-e-mail-server betragtes som en tvivlsom kilde til e-mail. Hvad mere er, de fleste internetudbydere blokerer port 25, som er den standardport, der bruges til SMTP-forbindelser, så du sandsynligvis ikke engang ville være i stand til at sende beskeder i første omgang.

i stedet for at gennemgå alle problemer med at få en hjemme-e-mail-server til at fungere, er det meget lettere at bruge en e-mail-tjeneste som Gmail, som vi bruger til denne artikel.

hvis du ikke allerede har gjort det, skal du logge ind på din Gmail-konto og aktivere IMAP-adgang fra fanen videresendelse og POP/IMAP i Indstillinger. Du bør også tillade apps, der bruger mindre sikker login-teknologi.

Metode #1: Mutt

Mutt er en ærværdig e-mail-klient. Det blev oprettet i 1995 af Michael Elkins, og det har modtaget opdateringer med en jævn hastighed lige siden. På trods af sin kommandolinjekarakter understøtter Mutt mange nyttige funktioner, herunder tastaturmakroer, PGP/MIME, beskedtrådning, vedhæftede filer og meget mere. Du kan bruge den med enhver e-mail-tjeneste, der giver POP3-eller IMAP-adgang.

først skal du installere Mutt fra din distributions repositories:

$ sudo apt install mutt

så kan du starte Mutt:

$ mutt

du bliver bedt om at oprette en mailmappe. Vælg ” Ja ” for at oprette det. Mutt skal starte og fortælle dig, at ingen postkasse er åben. Nu hvor du har bekræftet, at Mutt fungerer, er det tid til at oprette nogle grundlæggende mapper og hovedkonfigurationsfilen, kaldet muttrc.

$ mkdir-p ~/.mutt / cache / overskrifter
$ mkdir ~/.mutt / cache / organer
$ touch ~/.mutt / certifikater
$ touch ~/.mutt / muttrc

åbn nu konfigurationsfilen i din foretrukne teksteditor og kopier & indsæt følgende konfiguration (sørg for at ændre standardindstillingerne til dem, der matcher din Gmail-e-mail-konto):

# SMTP
sæt smtp_url = ” smtp://:587/ ”
set smtp_pass = $ imap_pass
set ssl_force_tls = Ja
# IMAP
set imap_user = [email protected]
set imap_pass = adgangskode
set spoolfile = imaps://imap.gmail.com/indbakke
set folder = imaps://imap.gmail.com/
set record=”imaps://imap.gmail.com//sendt Mail”
set udskudt=”imaps://imap.gmail.com//Kladder”
set mboks=”imaps://IMAP.gmail.com//all mail”
Indstil header_cache = “~/.mutt / cache/headers ”
Indstil message_cachedir =”~/.mutt / cache / organer ”
set certificate_file =”~/.mutt / certifikater “
# EDITOR
set editor = “nano”

du kan nu starte Mutt, og det skal automatisk hente dine e-mails til dig. For at sende din første e-mail-besked fra kommandolinjen skal du trykke på “m” på dit tastatur. Vælg ikke at huske en udsat besked, og indtast modtagerens e-mail-adresse, emnet for e-mail-meddelelsen og endelig meddelelsens krop.

før Mutt sender e-mailen, giver den dig mulighed for at ændre den og vedhæfte en fil. Når du er tilfreds med det, kan du trykke på “y” for at sende det. Det er så nemt at sende en e-mail fra kommandolinjen!

Metode #2: aerc

det vil nok ikke overraske dig at lære, at Mutt ikke er den eneste kommandolinje-e-mail-klient til , selvom det helt sikkert er den mest populære. Selv om det ville være uden for denne artikels anvendelsesområde at beskrive alle kommandolinjens e-mail-klienter, er der yderligere to klienter, som vi vil have dig til at vide om, startende med aerc.

designet til at være effektiv og udvidelig, aerc bringer til bordet støtte til flere konti, Vim-stil nøglebindinger, en interaktiv terminal bro.ser stand til at gøre HTML e-mails, og mere.

bedst af alt, aerc er betydeligt lettere at sætte op end Mutt, men der er en chance for, at det ikke vil blive inkluderet i din distribution repositories. I så fald kan du kompilere det selv ved at følge instruktionerne på de officielle instruktioner.

når du har aerc installeret på dit system, kan du starte det ved hjælp af kommandoen “aerc”. Aerc indeholder en praktisk Installationsguide til at hjælpe dig med at konfigurere din konto—ingen grund til at redigere konfigurationsfiler manuelt!

når du er færdig med at indtaste grundlæggende kontooplysninger og konfigurere et par grundlæggende indstillinger, kan du enten læse den medfølgende tutorial eller gå direkte til din indbakke.

for at komponere en ny besked skal du blot trykke på Shift + C.

metode #3:

hvis du vil sende e-mail fra kommandolinjen på den smarteste måde, skal du tænke uden for boksen og bruge værktøj på måder, de ikke var beregnet til at blive brugt. Applikationen er en SMTP-transaktionstester til alle formål, der kan bruges til at sende e-mail-beskeder via Gmail og andre udbydere.

Start med at installere det ligesom du ville gøre noget andet program:

$ sudo apt install <a></a>svajer

Indtast nu følgende kommando (sørg for at medtage din egen Gmail-adresse) for at teste din forbindelse:

$ svajer-t [email protected] -s smtp. gmail. com: 587-TLS-a LOGIN

du bliver bedt om at indtaste dit Gmail-brugernavn (din e-mail-adresse) og din adgangskode. Du skal modtage en e-mail-adresse fra dig selv, der bekræfter, at testen var vellykket. Hvis du vil sende en faktisk e-mail, skal du bruge følgende syntaks:

$ svajer-til [email protected] -s smtp. gmail. com:587 – TLS-au < bruger-konto>-ap < konto-adgangskode> –vedhæft-d ./mail.

sådan kan du sende en e-mail med en enkelt terminalkommando.

Metode #4: Ssmtp

sSMTP er et e-mail-leveringsprogram beregnet til at levere mail fra en computer til en mail hub (SMTP-server). Det betyder, at du kan bruge den til at sende en e-mail til en anden, men du kan ikke bruge den til at modtage en e-mail, der er sendt til dig af en anden.

du kan installere sSMTP ved at installere den tilsvarende pakke fra repositories:

$ sudo apt install ssmtp

konfiguration sker ved at redigere /etc/ssmtp/ssmtp.conf konfigurationsfil:

# brugeren, der får alle mails (UID < 1000, normalt admin)
[email protected]
# mailserveren (hvor mailen sendes til), både port 465 eller 587 skal være acceptabel
# Se også https://support.google.com/mail/answer/78799
mailhub=smtp.gmail.com:587
# adressen, hvor mailen ser ud til at komme fra til brugergodkendelse.
rewriteDomain=gmail.com
# det fulde værtsnavn. Skal være korrekt dannet, fuldt kvalificeret domænenavn eller Gmail afviser forbindelsen.
hostname=yourlocalhost.dit lokaldomæne.tld
# brug SSL / TLS før du starter forhandling
TLS_CA_FILE=/etc/ssl/certs/ca-certifikater.crt
UseTLS=Ja
UseSTARTTLS=Ja
# brugernavn / adgangskode
AuthUser=brugernavn
AuthPass=adgangskode
AuthMethod=LOGIN
# Email ‘ fra header kan tilsidesætte standarddomænet?
FromLineOverride=Ja

for at sende en e-mail skal du installere pakken mailutils (Debian-based systems) eller RHEL-based systems) for at bruge kommandoen mail til at sende din e-mail-besked til sSMTP om, at den kan levere den til Gmail. Sådan her:

$ echo-e ” emne: Dette er emnet \ n \ nDette er kroppen | / mail [email protected]

metode #5: Telnet

den sidste metode, vi ønsker at se på, er den geekiest en af dem alle, men det kunne komme til nytte på et tidspunkt i dit liv, så i det mindste at være opmærksom på dets eksistens er rart. Denne metode er afhængig af Telnet, en klientserverprotokol, der bruges til at etablere en fjerntekstforbindelse via et netværk.

det, der er fantastisk ved denne metode, er, at en Telnet-klient sandsynligvis allerede er installeret på din distribution. Hvad der ikke er så godt er, at der er mange skridt at gå igennem. Da vi bruger Gmail i forbindelse med denne artikel, skal du sørge for, at din telnet-klient understøtter SSL-kryptering:

$ sudo apt install telnet-ssl

du kan derefter starte din Telnet-klient og forbinde den til Gmails SMTP-server:

$ telnet-ssl smtp.gmail.com 465

da det ville være uhøfligt ikke at introducere os selv, kan du hilse på serveren som denne:

HELO hellogoogle

hvis du har modtaget et positivt svar, kan du fortsætte med godkendelse:

AUTH LOGIN

Indtast først dit brugernavn kodet i base64 og indtast derefter din adgangskode, også kodet i base64. SMTP-serveren skal svare med “334 Ugc3dvcmk6” hver gang.

nu er det tid til at angive din e-mail-adresse:

MAIL fra: <[email protected]>

angiv derefter modtageren:

RCPT til: < navn@domæne.com>

til sidst skal du fortælle SMTP-serveren, at du vil skrive en e-mail:

DATA

du kan nu indtaste emnet for din e-mail og trykke på enter for at bekræfte. Fortsæt med mailens krop, og tryk på enter for at bekræfte. For at lukke din e-mail-besked skal du indtaste:

du skal se en bekræftelsesmeddelelse, der ser sådan ud: 250 2.0.0 OK 1630506266 n10sm56478ejk.86-gsmtp

Indtast følgende kommando for at afslutte din forbindelse og sende e-mailen:

Afslut

konklusion

er det upraktisk at sende e-mails fra kommandolinjen? Måske, men du ved aldrig, hvornår denne færdighed vil være nyttig. Selvom du aldrig bruger det godt, kan du i det mindste have det godt med dig selv ved at vide, at du er blevet lidt mere avanceret som bruger.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.