De slimste manieren om e-mail te versturen vanaf de Linux commandoregel

ook al is er een halve eeuw verstreken sinds het eerste e-mailbericht werd verzonden, vertrouwen we nog steeds dagelijks op oude technologie. Moderne e-mailclients en diensten zijn slank, makkelijk te gebruiken en boordevol meer geavanceerde functies dan de meeste gebruikers weten hoe te gebruiken.

soms hoeft u alleen maar een eenvoudig sms-bericht te versturen, en u kunt mogelijk niet altijd een GUI-toepassing starten of inloggen op een webmail-interface om de klus te klaren. In dergelijke situaties is het handig om te weten hoe je e-mail moet verzenden vanaf de Linux command line, en dit artikel legt uit hoe je dat moet doen.

voordat we beginnen

voordat we de slimste manieren beschrijven om e-mail te verzenden vanaf de Linux command line, wat je kunt verwachten te leren door het lezen van dit artikel:

je leert e-mailberichten te verzenden via de SMTP-server van je e-mailprovider naar elk e-mailadres.

u zult niet leren hoe u uw e-mailserver kunt instellen en deze kunt gebruiken om e-mailberichten rechtstreeks te verzenden.

waarom niet? Omdat niemand e-mails van uw e-mailserver hoe dan ook zou accepteren. Zoals u weet, spam is een groot probleem als het gaat om e-mail, en vrijwel alle e-mail service providers en mailservers bevatten nu ten minste elementaire bescherming tegen spam die ervoor zorgt dat alle e-mails van dubieuze bronnen worden afgewezen.

een enthousiaste Linux-gebruiker met een DIY-e-mailserver wordt beschouwd als een dubieuze bron van e-mail. Bovendien blokkeren de meeste internetproviders poort 25, de standaardpoort die wordt gebruikt voor SMTP-verbindingen, zodat u waarschijnlijk niet eens berichten kunt verzenden.

in plaats van alle moeite te doen om een home-e-mailserver te laten werken, is het veel gemakkelijker om een e-mailservice zoals Gmail te gebruiken, die we voor dit artikel zullen gebruiken.

als u dit nog niet hebt gedaan, log dan in op uw Gmail-account en schakel IMAP-toegang in via het doorsturen en POP/IMAP-tabblad in Instellingen. Je moet ook apps toestaan die minder veilige aanmeldingstechnologie gebruiken.

Methode # 1: Mutt

Mutt is een eerbiedwaardige e-mailclient. Het werd opgericht in 1995 door Michael Elkins, en het is het ontvangen van updates op een constante snelheid sindsdien. Ondanks de command-line aard, Mutt ondersteunt vele handige functies, waaronder toetsenbord macro ‘ s, PGP/MIME, bericht threading, bijlagen, en nog veel meer. U kunt het gebruiken met elke e-mailservice die POP3-of IMAP-toegang biedt.

eerst moet u Mutt installeren vanuit de repositories van uw distributie:

$ sudo apt install mutt

dan kunt u Mutt starten:

$ mutt

u wordt gevraagd een e-mailmap aan te maken. Kies ” Ja ” om het te maken. Mutt moet starten en je vertellen dat er geen mailbox open is. Nu je hebt bevestigd dat Mutt werkt, is het tijd om een aantal basic directory ‘ s en het hoofd configuratiebestand, genaamd muttrc, aan te maken.

$ mkdir-p ~/.mutt/cache / headers
$ mkdir ~/.mutt/cache / body ‘ s
$ touch ~/.mutt / certificaten
$ touch ~/.mutt / muttrc

open nu het configuratiebestand in uw favoriete teksteditor en kopieer & plak de volgende configuratie (zorg ervoor dat u de standaardinstellingen wijzigt naar de instellingen die overeenkomen met uw Gmail-e-mailaccount):

# SMTP
set smtp_url = ” smtp://:587 / ”
set smtp_pass = $imap_pass
set ssl_force_tls = yes
# IMAP
set imap_user = [email protected]
set imap_pass = password
set spoolfile = imaps://imap.gmail.com/INBOX
set folder = imaps://imap.gmail.com/
set record=”imaps://imap.gmail.com//Sent Mail”
set exposed=”imaps://imap.gmail.com//Drafts”
set mbox=”imaps://IMAP.gmail.com//all mail”
set header_cache = “~/.mutt / cache / headers “
set message_cachedir=”~/.mutt / cache / bodies “
set certificate_file=”~/.mutt / certificates “
# EDITOR
set editor = “nano”

u kunt nu Mutt starten, en het zou automatisch uw e-mails voor u moeten ophalen. Om uw eerste e-mailbericht vanaf de opdrachtregel te verzenden, drukt u op “m” op uw toetsenbord. Kies ervoor om een uitgesteld bericht niet op te roepen en voer het e-mailadres van de ontvanger, het onderwerp van het e-mailbericht en, ten slotte, de inhoud van het bericht in.

voordat Mutt het e-mailbericht verstuurt, kunt u het wijzigen en een bestand toevoegen. Als je er eenmaal tevreden mee bent, kun je op “y” drukken om het te verzenden. Zo eenvoudig is het om een e-mail te sturen vanaf de Linux command line!

Methode # 2: aerc

het zal u waarschijnlijk niet verbazen dat Mutt niet de enige opdrachtregel e-mailclient voor Linux is, hoewel het zeker de meest populaire is. Hoewel het buiten het bereik van dit artikel om alle command-line e-mailclients voor Linux te beschrijven zou zijn, zijn er nog twee clients waarvan we willen dat je weet, te beginnen met aerc.

ontworpen om efficiënt en uitbreidbaar te zijn, biedt aerc ondersteuning voor meerdere accounts, vim-achtige sneltoetsen, een interactieve terminalwebbrowser die HTML-e-mails kan weergeven, en meer.

het beste van alles is dat aerc aanzienlijk eenvoudiger is op te zetten dan Mutt, maar er is een kans dat het niet zal worden opgenomen in de repositories van je distributie. In dat geval kunt u het zelf samenstellen door de instructies op de officiële instructies te volgen.

wanneer aerc op uw systeem is geïnstalleerd, kunt u het starten met het “aerc” Commando. Aerc bevat een handige setup wizard om u te helpen bij het configureren van uw account – geen noodzaak om configuratiebestanden handmatig te bewerken!

zodra u klaar bent met het invoeren van basisaccountinformatie en het configureren van een paar basisinstellingen, kunt u de gebundelde tutorial lezen of rechtstreeks naar uw postvak IN gaan.

om een nieuw bericht op te stellen, hoeft u alleen maar op Shift + C.

Methode #3 te drukken: swaks

om e-mail vanaf de Linux commandoregel op de slimste manier te versturen, moet je buiten de kaders denken en softwaretools gebruiken op manieren die niet bedoeld waren om te worden gebruikt. De swaks applicatie is een all-purpose SMTP transactie tester die kan worden gebruikt om e-mailberichten te verzenden via Gmail en andere providers.

installeer het net als elke andere toepassing:

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

Voer nu het volgende commando in (voeg uw eigen Gmail-adres toe) om uw verbinding te testen:

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

u wordt gevraagd om uw Gmail-gebruikersnaam (uw e-mailadres) en uw wachtwoord in te voeren. U dient een e-mailadres van uzelf te ontvangen om te bevestigen dat de test succesvol was. Gebruik de volgende syntaxis om een daadwerkelijk e-mailbericht te versturen:

$ swaks — to [email protected] -s smtp.gmail.com: 587-tls-au <gebruikersaccount> – ap <accountwachtwoord> — attach-d ./mail.txt

zo kunt u een e-mailbericht verzenden met swaks met één terminalcommando.

Methode # 4: sSMTP

sSMTP is een e-mailbezorgingsprogramma dat bedoeld is om e-mail van een computer naar een mailhub (SMTP-server) te bezorgen. Dit betekent dat u het kunt gebruiken om een e-mailbericht naar iemand anders te sturen, maar u kunt het niet gebruiken om een e-mailbericht te ontvangen dat door iemand anders naar u is verzonden.

u kunt sSMTP installeren door het bijbehorende pakket vanuit repositories te installeren:

$ sudo apt install ssmtp

configuratie wordt gedaan door het bewerken van de /etc/ssmtp/ssmtp.conf configuratiebestand:

# de gebruiker die alle mails ontvangt (UID < 1000, meestal de admin)
[email protected]
# de e-mailserver (waar de e-mail naar wordt verzonden), beide poort 465 of 587 moeten aanvaardbaar zijn
# zie ook https://support.google.com/mail/answer/78799
mailhub=smtp.gmail.com:587
# het adres waar de e-mail vandaan lijkt te komen voor gebruikersauthenticatie.
rewriteDomain=gmail.com
# de volledige hostnaam. Moet correct worden gevormd, volledig gekwalificeerde domeinnaam of Gmail zal de verbinding te weigeren.
hostname=yourlocalhost.je lokale huis.tld
# gebruik SSL / TLS voordat u begint met onderhandelen
TLS_CA_FILE=/etc/ssl/certs / ca-certificates.crt
UseTLS = Yes
UseSTARTTLS = Yes
# Gebruikersnaam / Wachtwoord
AuthUser = gebruikersnaam
AuthPass=wachtwoord
AuthMethod = LOGIN
# Email ‘Van header’ s kan het standaarddomein overschrijven?
van Lineoverride = Ja

om een e-mailbericht te verzenden, moet u het pakket mailutils (Debian-gebaseerde systemen) of mailx (RHEL-gebaseerde systemen) installeren om het commando mail te gebruiken om uw e-mailbericht door te geven aan sSMTP dat het kan leveren aan Gmail. Zoals dit:

$ echo-e “Subject: Dit is het onderwerp\n\nDit is de body” / mail [email protected]

Methode # 5: Telnet

de laatste methode die we willen bekijken is de geekiest een van hen allemaal, maar het kan van pas komen op een bepaald moment in je leven, dus in ieder geval bewust zijn van het bestaan ervan is leuk. Deze methode is gebaseerd op Telnet, een client-server-protocol dat wordt gebruikt om een externe tekstverbinding tot stand te brengen via een netwerk.

wat zo geweldig is aan deze methode is dat een Telnet client waarschijnlijk al geïnstalleerd is op je Linux distributie. Wat niet zo geweldig is, is dat er veel stappen zijn om door te gaan. Aangezien we Gmail gebruiken voor de doeleinden van dit artikel, moet u ervoor zorgen dat uw telnet-client SSL-versleuteling ondersteunt:

$ sudo apt install telnet-ssl

u kunt vervolgens uw telnet-client starten en deze verbinden met de SMTP-server van Gmail:

$ telnet-z ssl smtp.gmail.com 465

omdat het onbeleefd zou zijn om ons niet voor te stellen, kunt u de server zo begroeten:

HELO hellogoogle

Als u een positief antwoord hebt ontvangen, kunt u doorgaan met authenticatie:

AUTH LOGIN

voer eerst uw gebruikersnaam in die gecodeerd is in base64 en voer vervolgens uw wachtwoord in, ook gecodeerd in base64. De SMTP server moet telkens reageren met” 334 UGFzc3dvcmQ6″.

nu is het tijd om uw e-mailadres op te geven:

post van: <[email protected]>

geef vervolgens de ontvanger op:

RCPT TO: <[email protected]>

tot slot, vertel de SMTP-server dat u een e-mail wilt schrijven:

DATA

u kunt nu het onderwerp van uw e-mail invoeren en op enter drukken om te bevestigen. Ga verder met de inhoud van de e-mail en druk op enter om te bevestigen. Om uw e-mailbericht te sluiten, typ:

u zou een bevestigingsbericht moeten zien dat er als volgt uitziet: 250 2.0.0 OK 1630506266 n10sm56478ejk.86-gsmtp

voer het volgende commando in om uw verbinding te beëindigen en de e-mail te verzenden:

afsluiten

conclusie

is het verzenden van e-mailberichten vanaf de Linux opdrachtregel onpraktisch? Misschien, maar je weet nooit wanneer deze vaardigheid nuttig zal zijn. Zelfs als je het nooit goed gebruikt, kun je je in ieder geval goed voelen over jezelf, wetende dat je iets geavanceerder bent geworden als een Linux gebruiker.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.