9 mail/mailx Commando voorbeelden om e-mails te verzenden vanaf de opdrachtregel op Linux

stuur e-mails vanaf de opdrachtregel

de opdracht mail is een essentieel commando dat beschikbaar moet zijn op elke linux server, zodat verschillende diensten en andere webapplicaties e-mails kunnen genereren en verzenden.

In een vorige post op mail Commando zagen we hoe het mail commando gebruikt kan worden om e-mails te versturen vanaf de opdrachtregel op je linux server.,

in deze tutorial zullen we een verbeterde versie van het mail commando gebruiken. Het heet mailx (of gewoon mail wanneer geà nstalleerd), en het kan veel meer dingen doen dan wat de oudere mail commando van gnu mailutils pakket kan doen.

hoe werkt het

het commando mail / mailx heeft een lokale smtp-server (MTA) nodig om de e-mails af te leveren. De route die door de e-mail wordt genomen is ongeveer als volgt –

mail -> sendmail -> local MTA -> recipient MTA 

de MTA van de ontvanger zou de smtp-server van gmail zijn als uw ontvanger iemand is op gmail.com bijvoorbeeld., Voor de lokale MTA moet je een smtp server installeren zoals Postfix. Een basisinstallatie van Postfix met minimale configuratie zou in de meeste gevallen werken.

installeer de mailx-opdracht

Op Op Ubuntu / Debian gebaseerde systemen de mailx-opdracht is beschikbaar in 2 verschillende pakketten –

1. erfstuk-mailx
2. bsd-mailx

we zullen het heirloom-mailx pakket gebruiken omdat het meer functies en opties heeft.
op CentOS / Fedora gebaseerde systemen, is er slechts één pakket genaamd “mailx” dat het heirloom pakket is.,

om erachter te komen welk mailx-pakket op uw systeem is geïnstalleerd, vinkt u de uitvoer “man mailx” aan en scroll naar beneden naar het einde en u zou wat nuttige informatie moeten zien.

# ubuntu/debian$ sudo apt-get install heirloom-mailx# fedora/centos$ sudo yum install mailx

met behulp van het mailx Commando

eenmaal geïnstalleerd, kan het mailx commando direct worden verwezen met de naam mail, dus je typt dat gewoon in de commandoregel.

1. Simple mail

voer het volgende commando uit, waarna mailx zou wachten tot u het bericht van de e-mail invoert. U kunt op enter drukken voor nieuwe regels. Wanneer u klaar bent met het typen van het bericht, drukt u op Ctrl + D en mailx zou EOT weergeven.,

Na Dan mailx levert automatisch de e-mail naar de bestemming.

$ mail -s "This is the subject" Hi someoneHow are youI am fineByeEOT

2. Neem bericht uit een bestand

de berichttekst van de e-mail kan ook uit een bestand worden gehaald.

$ mail -s "This is Subject" < /path/to/file

het bericht kan ook worden doorgesluisd met behulp van het echo-Commando –

$ echo "This is message body" | mail -s "This is Subject" 

3. Meerdere geadresseerden

om de e-mail naar meerdere geadresseerden te verzenden, geeft u alle e-mails op, gescheiden door een komma

$ echo "Dit is berichttekst" | mail-s "Dit is onderwerp", 

4., CC en BCC

De”- c “en” – b ” opties kunnen worden gebruikt om respectievelijk CC en BCC adressen toe te voegen.

$ echo" Dit is berichttekst "| mail-s" Dit is onderwerp " - c 

5. Specificeer uit naam en adres

om een “uit” naam en adres op te geven, gebruikt u de optie “-r”. De naam moet worden gevolgd door het adres verpakt in “”.

$ echo" This is message body "| mail-S" This is Subject "- R"Harry<> " 

6., Geef” antwoord naar ” adres

het antwoord naar adres wordt ingesteld met de interne optie variabele “replyto” met behulp van de optie “-S”.

7. Bijlagen

bijlagen kunnen worden toegevoegd met de optie “-a”.

$ echo "This is message body"/mail-S "This is Subject" -R "Harry<>" -a/path/to/file 

8. Gebruik externe SMTP-server

Dit is een exclusieve functie, die je alleen krijgt met heirloom mailx en niet bsd mailx, of het mail commando van gnu mailutils of het mutt Commando.,

het commando mailx kan een externe smtp-server gebruiken om het bericht door te sturen. De syntaxis is een beetje lang, maar is zinvol.

Hier is een uitsplitsing

U kunt de Gmail smtp-servers gebruiken en e-mails verzenden via uw Gmail-account. Dat is zo cool!
voor gmail moet u in het bijzonder minder veilige apps-instellingen inschakelen voordat u dergelijke e-mail kunt verzenden.

9. Verbose-watch smtp-communicatie

wanneer u externe smtp-servers gebruikt, kunt u ervoor kiezen om de volledige smtp-communicatie op de achtergrond te bekijken., Dit is vooral handig bij het testen of debuggen van smtp-servers.

problemen oplossen

in het geval dat de e-mails niet goed worden afgeleverd, moet u een paar dingen controleren. Het eerste wat je moet controleren is dat een smtp server (mta) lokaal draait. Het netstat commando kan vertellen dat

als een stmp server zoals Postfix draait en er nog steeds geen mails worden verstuurd, probeer dan bijvoorbeeld Postfix opnieuw te configureren. Op Ubuntu / Debian-systemen kan dit worden gedaan met de opdracht dpkg-reconfigure

$ sudo dpkg-reconfigure postfix

probeer dan opnieuw, de mailopdracht en het zou moeten werken., Als dit nog steeds niet het geval is, probeer dan contact op te nemen met uw server provider.

geen e-mails van lokale Systemen

Als u probeert e-mails van uw lokale computer naar een gmail-adres te sturen, wordt uw e-mail waarschijnlijk geweigerd, dus probeer dat niet.

Dit komt omdat gewone computers die verbonden zijn met het internetadres een ip-adres hebben dat niet gekoppeld is aan een geldig domein als zodanig, en Gmail controleert deze referenties strikt voordat een e-mail wordt goedgekeurd om door te gaan.,

Notes and Resources

naast mailx zijn er andere tools zoals Swaks en smtp-cli die kunnen worden gebruikt om e-mails vanaf de opdrachtregel te verzenden en verschillende functies ondersteunen, zoals het specificeren van smtp-servers en het toevoegen van bijlagen enzovoort.

het mailx commando is echter beschikbaar in de standaard repositories van de meest voorkomende distributies, dus kan eenvoudig worden geïnstalleerd. Verder onderhoudt het een syntaxis zeer vergelijkbaar met die van de mail Commando waardoor het een daling in vervanging voor de oudere mail Commando.,

het mailx commando is zelfs in staat om mails van externe IMAP servers te lezen, maar dat is iets wat we buiten deze post hielden en later zouden praten. Voor meer informatie kijk op de man page voor het mailx commando met “man mailx”.

Share

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *