9 mail/mailx příklady příkazů posílat e-maily z příkazového řádku na Linuxu

Odeslat e-maily z příkazového řádku

poštovní příkaz je zásadní, že by měly být k dispozici na každém linuxovém serveru tak, že různé služby a jiné webové aplikace mohou vytvářet a vysílat e-maily.

v předchozím příspěvku na příkaz mail jsme viděli, jak lze příkaz mail použít k odesílání e-mailů z příkazového řádku na vašem linuxovém serveru.,

v tomto tutoriálu budeme používat vylepšenou verzi příkazu mail. Jmenuje se mailx (nebo jen pošta při instalaci) a může dělat mnohem více věcí, než co může udělat starší poštovní příkaz z balíčku gnu mailutils.

jak to funguje

příkaz mail / mailx potřebuje lokální smtp server (MTA) běžící za účelem doručení e-mailů. Trasa, kterou e-mailu je něco jako toto,

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

příjemce MTA by gmail smtp server, pokud váš příjemce je někdo na gmail.com například., Pro místní MTA musíte nainstalovat smtp server, jako je Postfix. Základní instalace Postfixu s minimální konfigurací by ve většině případů fungovala.

nainstalujte příkaz mailx

na systémech založených na Ubuntu / Debianu příkaz mailx je k dispozici ze 2 různých balíčků –

1. dědictví-mailx
2. BSD-mailx

budeme používat balíček heirloom-mailx, protože má více funkcí a možností.
na systémech založených na CentOS / Fedora existuje pouze jeden balíček s názvem „mailx“, což je balíček dědictví.,

Chcete-li zjistit, jaký balíček mailx je nainstalován ve vašem systému, zkontrolujte výstup „man mailx“ a přejděte dolů na konec a měli byste vidět některé užitečné informace.

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

pomocí příkazu mailx

po instalaci lze příkaz mailx přímo odkazovat na název mail, takže stačí zadat příkaz do příkazového řádku.

1. Simple mail

Spusťte následující příkaz a pak mailx bude čekat, až zadáte zprávu e-mailu. Můžete stisknout enter pro nové řádky. Po dokončení psaní zprávy stiskněte Ctrl + D a mailx zobrazí EOT.,

poté, co mailx automaticky doručí e-mail na místo určení.

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

2. Vezměte zprávu ze souboru

tělo zprávy e-mailu lze také odebrat ze souboru.

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

zpráva může být také piped pomocí příkazu echo –

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

3. Více příjemců

Chcete-li zprávu odeslat více příjemcům, zadejte všechny e-maily oddělené čárkou

$ echo "Toto je tělo zprávy" | mail -s "Toto je Předmět" ,

4., CC a BCC

možnosti „-c“ A „-b“ lze použít k přidání adres CC a BCC.

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

5. Zadejte z názvu a adresy

Chcete-li zadat název a adresu „z“, použijte možnost „- r“. Po názvu by měla následovat adresa zabalená v““.

$ echo "Toto je tělo zprávy" | mail -s "Toto je Předmět" -r "Harry<>" 

6., Zadejte adresu“ odpovědět na “

odpověď na adresu je nastavena s proměnnou Interních voleb „replyto“ pomocí volby „-s“.

7. Přílohy

přílohy lze přidat pomocí volby „- a“.

$ echo "Toto je tělo zprávy" | mail -s "Toto je Předmět" -r "Harry<>" -o /cesta/k/souboru 

8. Použít externí SMTP server,

Toto je exkluzivní funkce, které dostanete pouze s heirloom mailx a ne bsd mailx, nebo poštou příkaz z gnu mailutils nebo mutt příkaz.,

příkaz mailx může použít externí smtp server k přenosu zprávy dopředu. Syntaxe je trochu zdlouhavá, ale dává smysl.

zde je rozpis

můžete použít smtp servery gmail a odesílat e-maily prostřednictvím svého účtu gmail. To je super!
pro gmail konkrétně byste museli povolit méně bezpečná nastavení aplikací, než budete moci poslat takovou poštu.

9. Verbose-watch SMTP communication

při použití externích smtp serverů se můžete rozhodnout sledovat celou smtp komunikaci, která se provádí na pozadí., To je užitečné zejména při testování nebo ladění serverů smtp.

odstraňování problémů

v případě, že e-maily nejsou doručovány správně, musíte zkontrolovat několik věcí. První věc, kterou je třeba zkontrolovat, je, že server smtp (mta) běží lokálně. Příkaz netstat může říci, že

Pokud je spuštěn server stmp, jako je Postfix, a stále maily nejdou, zkuste například znovu nakonfigurovat Postfix. V systémech Ubuntu / Debian to lze provést příkazem dpkg-reconfigure

$ sudo dpkg-reconfigure postfix

pak opakujte příkaz mail a měl by fungovat., Pokud tomu tak stále není, zkuste kontaktovat poskytovatele serveru.

Žádné maily od místních systémů

Pokud se pokusíte odeslat e-maily z místního počítače na adresu služby gmail, pošta by s největší pravděpodobností být odmítnuta, tak se nesnaž dělat, že.

To je proto, že běžné počítače připojené na internetovou adresu, adresu ip, která není spojena s žádnou platnou domény jako takové, a gmail přísně ověřuje takové pověření před schválením mail projít.,

Poznámky a Zdroje

na Rozdíl od mailx, tam jsou jiné nástroje, jako Swaks a smtp-cli, které mohou být použity k odesílání e-mailů z příkazové řádky a podporuje různé funkce, jako je určení smtp servery a přidávání příloh, a tak dále.

příkaz mailx je však k dispozici ve výchozích repozitářích většiny běžných distribucí, takže jej lze snadno nainstalovat. Dále udržuje syntaxi velmi podobnou syntaxi příkazu mail, což z něj činí pokles nahrazení staršího příkazu mail.,

příkaz mailx je dokonce schopen číst e-maily ze vzdálených serverů IMAP, ale to je něco, co jsme z tohoto příspěvku vynechali a mluvili později. Chcete-li se dozvědět více, zkontrolujte man stránku příkazu mailx pomocí „man mailx“.

Share

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *