Wanneer u met de opdrachtregel werkt, zijn er soms momenten waarop u handmatig een e-mail wilt verzenden om informatie over één lijn mee te delen, bijvoorbeeld een complexe opdracht of een belangrijke notitie voor uzelf of een vriend. Normaal gesproken moet u hiervoor een webbrowser openen, inloggen op uw e-mailaccount, een e-mail met de vereiste informatie inlijsten en deze vervolgens verzenden.

Dat is een te lang proces voor een klein ding, toch? Wat als je dat kon doen via de opdrachtregel zelf? Ja, het is mogelijk, en we hebben al een paar manieren besproken om dat onder Linux te doen. In dit artikel bespreken we nog drie andere manieren om e-mail vanaf de opdrachtregel in Linux te verzenden.

Verzend mail

Sendmail, zoals je misschien weet, is de klassieke SMTP-server uit de wereld van UNIX. Het komt meestal voorgeïnstalleerd op vele Linux-distributies, maar als dat niet het geval is met je Linux-box, kun je het eenvoudig installeren vanuit standaard repositories. Gebruikers van Debian-gebaseerde systemen, zoals Ubuntu, kunnen het bijvoorbeeld downloaden en installeren met behulp van de volgende opdracht:

 sudo apt-get install mailutils 

Na installatie kunt u eenvoudig en snel een e-mail verzenden met behulp van de opdracht sendmail . Hier is een voorbeeld:

 echo "Dit is weer een test-e-mail" | sendmail [ontvangers-e-mailadres] 

De opdracht hierboven stuurt een e-mail met de tekst "Dit is een testemail opnieuw" naar "[ontvangers-e-mailadres]" (zorg ervoor dat u deze vervangt, inclusief de haakjes, met het daadwerkelijke e-mailadres van de ontvanger].

Toen ik mijn e-mailadres in het bovenstaande commando gebruikte, kreeg ik de volgende e-mail:

Net als in mijn geval kan de e-mail in uw map met ongewenste e-mail terechtkomen, dus controleer deze daar.

De opdracht die we zojuist hebben gebruikt, bevat alleen de hoofdtekst van de e-mail. U kunt ook meer details toevoegen, zoals onderwerp, van en meer. De volgende opdracht bevat bijvoorbeeld deze extra velden en kan als een script worden uitgevoerd:

 echo "Van: [email protected] Aan: [email protected] Onderwerp: HTML-e-mail testen Dit is een test-e-mail." | sendmail -t 

Hier is de momentopname van de e-mail die ik ontving toen het bovenstaande commando werd uitgevoerd:

Telnet

U kunt ook de opdracht Telnet gebruiken om een ​​e-mail te verzenden vanaf de opdrachtregel. Hiertoe voert u de volgende opdrachten uit (zorg ervoor dat "[afzender-e-mailadres]" en "[ontvangers-e-mailadres]" worden vervangen door respectievelijk het e-mailadres van afzender en ontvanger):

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

Op dit punt ziet u een prompt waarin u de hoofdtekst van de e-mail moet invoeren en ervoor moet zorgen dat het bericht eindigt met een nieuwe regel gevolgd door een punt (.). Als u klaar bent, drukt u op Enter om de e-mail te verzenden en typt u vervolgens quit om de toepassing quit te sluiten.

In mijn geval ontving ik de volgende e-mail:

ssmtp

SSMTP is een tool die e-mail van een lokale computer naar een geconfigureerde mailhost (mailhub) bezorgt. Debian-gebruikers kunnen het programma downloaden en installeren met behulp van de volgende opdracht:

 sudo apt-get installeer ssmtp 

Na de installatie opent u het bestand /etc/ssmtp/ssmtp.conf en bewerkt u het om ervoor te zorgen dat het de volgende informatie bevat:

 mailhub = smtp.gmail.com: 587 UseSTARTTLS = YES AuthUser = [senders-email-adres] AuthPass = [senders-email-login-wachtwoord] TLS_CA_File = / etc / pki / tls / certs / ca-bundle.crt 

Zorg er zoals altijd voor dat u "[senders-email-address]" en "[senders-email-login-password]" met de juiste waarden vervangt. Gebruik de volgende opdracht om een ​​e-mail te verzenden met behulp van ssmtp :

 ssmtp [ontvangers-e-mailadres] Onderwerp: [subject-line-here] [Hoofdtekst e-mail] 

Nogmaals, vervang "[ontvangers-e-mailadres]", "[onderwerp-regel-hier]" en "[hoofd van e-mail]" met de juiste waarden en verzend de e-mail door op "Ctrl + D" te drukken.

Als u de volgende foutmelding krijgt,

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

dan is dat waarschijnlijk omdat Gmail ssmtp als een veilige applicatie behandelt. Om van deze fout af te komen, moet u een bepaalde instelling in uw Gmail-account wijzigen. Raadpleeg deze ondersteuningspagina van Google voor meer informatie over hoe u dat moet doen en wat de mogelijke risico's zijn.

Toen ik het bovenstaande commando uitvoerde, kreeg ik de volgende e-mail:

Conclusie

Hiermee hebben we in totaal 5 commandoregelhulpmiddelen besproken die u kunt gebruiken om e-mail te verzenden vanaf de Linux-opdrachtregel. Een belangrijk punt dat hier moet worden vermeld, is dat u deze commando's niet alleen kunt gebruiken om e-mails handmatig te verzenden vanaf de opdrachtregel, maar ook om e-mails met meldingen uit scripts te genereren.

Heb je ooit een van deze hulpmiddelen gebruikt? Hoe was je ervaring? Deel uw mening in de reacties hieronder.