Jako běžný uživatel Ubuntu si možná dobře uvědomujete sílu příkazového řádku. V tomto článku prozkoumáme, jak můžete používat Gmail z vašeho terminálu k odesílání e-mailů pomocí konfigurace klienta msmtp. No, gmail má docela užitečné a chytlavé rozhraní, tak proč se chceme rozhodnout pro tento přístup z příkazového řádku?
Proč používat k odesílání e-mailů terminál?
Pokud jste znalec terminálů, nebudete chtít opustit pohodlí příkazové řádky a jít někam jinam, abyste dělali jakoukoli ze svých každodenních technických činností. Vždy existuje způsob, jak udělat téměř všechny naše věci přímo v Terminálu. Proč by tedy posílání e-mailů mělo být jiné! Používání terminálu zefektivňuje a ještě urychluje určité úkoly. Nástroje příkazového řádku nevyužívají příliš mnoho zdrojů a tvoří tak skvělé alternativy k široce používaným grafickým aplikacím, zvláště pokud máte problém se starším hardwarem. Odesílání e-mailů z terminálu se stává obzvláště praktickým, když můžete psát skripty shellu pro odesílání e-mailů a automatizovat celý proces.
Spustili jsme příkazy a postupy uvedené v tomto článku na systému Ubuntu 18.04 LTS.
Chcete-li nainstalovat a nakonfigurovat msmtp, abyste mohli odesílat e-maily z vašeho terminálu, postupujte podle těchto kroků, jeden po druhém:
Krok 1:Otevřete aplikaci Terminál
Otevřete aplikaci Terminál buď pomocí klávesové zkratky Ctrl+Alt+T, nebo k ní přistupte pomocí vyhledávání ve Spouštěči aplikací takto:
Krok 2:Aktualizujte index úložiště
Dalším krokem je aktualizace indexu úložiště vašeho systému pomocí následujícího příkazu:
$ sudo apt-get update
To vám pomůže při instalaci nejnovější dostupné verze softwaru z internetu. Vezměte prosím na vědomí, že pouze oprávněný uživatel může přidávat, odebírat a konfigurovat software na Ubuntu.
Krok 3:Nainstalujte klienta Msmtp
Nyní jste připraveni nainstalovat klienta msmtp z terminálu; můžete tak učinit spuštěním následujícího příkazu jako sudo:
$ sudo apt-get install msmtp-mta
Systém vás může požádat o heslo pro sudo a také vám poskytne možnost Y/n pro pokračování v instalaci. Zadejte Y a poté stiskněte Enter; software se nainstaluje do vašeho systému. Tento proces však může nějakou dobu trvat v závislosti na rychlosti vašeho internetu.
Krok 4:Nakonfigurujte msmtp pro gmail
Nyní je čas nakonfigurovat msmtp tím, že mu sdělíte naše přihlašovací údaje pro gmail, port, který se má použít, hostitele a některé další podrobnosti o autorizaci a připojení:
Otevřete soubor s názvem msmtprc v jednom z vašich oblíbených textových editorů. K otevření souboru používám slavný editor Nano:
$ nano ~/.msmtprc
Potom zkopírujte následující kód do prázdného souboru:
#Gmail account defaults #change the location of the log file to any desired location. logfile ~/msmtp.log account gmail auth on host smtp.gmail.com from <[email protected]> auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt user <[email protected]> password <your-password> port 587 #set gmail as your default mail server. account default : gmail
Tip: Místo psaní celého kódu do souboru jej můžete zkopírovat odtud a vložit do terminálu pomocí Ctrl+Shift+V nebo pomocí možnosti Vložit z nabídky po kliknutí pravým tlačítkem.
Nyní ukončete soubor pomocí klávesové zkratky Ctrl+X a uložte soubor na "Uložit upravenou vyrovnávací paměť?" zadejte Y a poté stiskněte Enter.
Uložení hesla v textovém formátu není nikdy dobrý nápad. Soubor tedy můžete zabezpečit spuštěním následujícího příkazu:
$ chmod 600 .msmtprc
Krok 5:Nainstalujte heirloom-mailx
V tuto chvíli jsme nakonfigurovali náš počítač tak, aby mluvil se vzdáleným serverem Gmail. Nyní musíme nastavit rozhraní příkazového řádku, které nám umožní vytvářet e-maily k odeslání. Mailx je program, který nám toto vše umožní, a zde je návod, jak jej nainstalovat:
$ sudo apt-get install heirloom-mailx
Systém vás může požádat o heslo pro sudo a také vám poskytne možnost Y/n pro pokračování v instalaci. Zadejte Y a poté stiskněte Enter; software se nainstaluje do vašeho systému. Tento proces však může nějakou dobu trvat v závislosti na rychlosti vašeho internetu.
Důležité: Pokud nemůžete najít balíček ve svých již přidaných úložištích, otevřete soubor sources.list následovně:
$ nano /etc/apt/sources.list
Poté přidejte následující řádek a přidejte úložiště rusty-security main universe, odkud nainstalujeme obslužný program mailx.
deb http://security.ubuntu.com/ubuntu trusty-security main universe
Také nezapomeňte před provedením instalace spustit následující příkaz:
$ sudo apt-get update
Krok 6:Konfigurace Mailx
Otevřete soubor s názvem .mailrc prostřednictvím jednoho z vašich oblíbených textových editorů.
$ nano ~/.mailrc
Poté do tohoto souboru přidejte následující řádky a uložte jej.
set sendmail="/usr/bin/msmtp" set message-sendmail-extra-arguments="-a gmail"
Krok 7:Odešlete e-mail přes terminál
Nyní jsme připraveni odeslat e-mail prostřednictvím našeho nakonfigurovaného účtu gmail příjemci v jakékoli doméně. Níže je uvedena základní syntaxe pro odeslání takového e-mailu:
$ mail -s "subject" -a "attachment-if-any" "[email protected]"
Odeslání přílohy spolu s e-mailem je volitelné.
K odeslání e-mailu jsem použil následující příkaz:
Jakmile stisknete Enter, budete moci zadat tělo e-mailu. Až budete hotovi se zadáním těla e-mailu, stiskněte Ctrl+D. Tím se označí konec těla e-mailu a odešle se příslušnému ID příjemce.
EOT na konci výstupu bude indikovat, že váš e-mail byl odeslán.
Můžete však narazit nanejčastější chybu , stejně jako já:
K této chybě většinou dochází, když jste na svém gmailu nepovolili přístup k méně bezpečným aplikacím. Toto nastavení zabezpečení lze změnit pomocí následujícího odkazu:
https://myaccount.google.com/lesssecureapps
Když tak učiníte, bude vám zasláno upozornění (většinou na váš telefon, když máte nakonfigurované své telefonní číslo pomocí gmailu). Když povolíte tuto změnu nastavení, gmail povolí přístup k méně bezpečným aplikacím, jako je ta, kterou používáme.
Zkuste e-mail odeslat znovu přes CLI a váš e-mail bude úspěšně odeslán příjemci z vašeho gmail ID.
Nyní můžete tuto metodu začlenit do svých bash skriptů, aby byla užitečnější a ušetřila čas a šířku pásma.