Gyakran hasznos lehet, ha parancssorból tudunk emailt küldeni. Például, ha letöltődött egy torrent, beállíthatjuk Transmission-ben, hogy küldjön egy figyelmeztető emailt nekünk, vagy bármilyen más esemény esetén is megtehetjük ezt. Egy szerverként használt Raspberry Pi-nél ez egy hasznos figyelmeztető lehetőség lehet.
Arra gondoltam, hogy ez akkor lehetne igazán hasznos, hogyha a saját Gmail-es címemről tudnék írni, így rákerestem használhatnám-e a Gmail SMTP szerverét levelezésre konzolból. Sajnos (:D) találtam egy elég szép megoldást, így most nem kellett semennyit se kódolnom.
Ezen az oldalon találtam egy szkriptet, amely a
mailx és
msmtp programok config fájljait készíti elő a Gmail SMTP szerverével való kommunikációra.
Itt letölthetjük a szkriptet, majd futtatás előtt a /tmp/test_email fájlba kell írni valamilyen szöveget, amit tesztelésként elküldünk magunknak:
echo "Ez egy teszt mail." > /tmp/test_email
Ezután nyissuk meg a fájlt:
gedit setup_gmail_command_line.sh
Majd állítsuk be a Gmail felhasználónkat, és jelszavunkat a következő résznél
GMAIL_USER='YOUR_GMAIL_USER_NAME'
GMAIL_PASS='YOUR_GMAIL_USER_PASSWORD'
Ekkor már elindíthatjuk a programot:
chmod +x setup_gmail_command_line.sh
sudo ./setup_gmail_command_line.sh install
Ha minden jól ment mostmár küldhetünk emaileket akár parancssorból is a következő paranccsal:
mailx -s "email tárgya" -a /csatolmányelérésiút/csatolmány.zip címzett@valami.hu < /emailszövegelérésiút/email.txt
vagy, ha sietünk nem is kell külön fájlba megírni az email törzsét:
echo "teszt" | mailx -s "tesztmail" címzett@valami.hu
-s kapcsolóval adható meg az email tárgya, -a kapcsolóval a csatolmány (ez el is hagyható), utána a címzett, majd az emailünk törzse.
Kiegészítésként megírom, hogyha saját teljes nevünkön akarjuk elküldeni az email-t, akkor a szkript 107-ik sorában módosítani kell a "($GMAIL_USER)"-t, a következőképpen:
19-ik sorba írjuk be egy változóba a teljes nevünk:
$GMAIL_FULLNAME='Teljes Név'
majd a 107-ikben:
set from="$GMAIL_USER@gmail.com ($GMAIL_FULLNAME)"
Update: Nem rég vettem észre, hogy a syslog tele van a következőhöz hasonló hibákkal:
Warning: program /usr/sbin/sensible-mda unsafe: No such file or directory
SYSERR(root): Cannot exec /usr/sbin/sensible-mda: No such file or directory
Rövid utánaolvasás után azt találtam, hogy a cikkben említett telepítőszkript, nem telepíti a sendmail program egy függőségét, így az egy csomó hiba forrása lesz. A helyes működéshez szükség van a következő program telepítésére is:
sudo apt-get install sensible-mda