Hlavní navigace

Používejte textové mailery!

28. 5. 2001
Doba čtení: 4 minuty

Sdílet

Nedávno jsem v sérii článků "Poštovní klienti" vyzdvihoval programy pracující ve znakovém režimu nad GUI mailery. Textoví klienti jsou flexibilnější - můžete je provozovat na dálku přes telnet, mají zanedbatelné hardwarové nároky, možnosti jejich konfigurace jsou zpravidla lepší a po určité době používání si troufám tvrdit, že i jejich ovládání je snazší a přímočařejší.

Má to však jeden háček. Zatímco GUI programy jsou psány jako kombinované aplikace, které jsou soběstačné a zahrnují nejrozmanitější funkce myslitelné při používání elektronické pošty, programy psané pro textovou konzoli jsou zpravidla navrženy klasickým unixovým způsobem, kdy bezešvě zapadají do reálií víceuživatelského operačního systému a funkce, které bezprostředně nesouvisí s prohlížením a správou poštovních schránek přenechávají jiným (externím) programům.

Pokud chce tedy uživatel na svém počítači plnohodnotně používat elektronickou poštu, nestačí mu nainstalovat samotný emailový klient, ale musí si nainstalovat a konfigurovat hned několik různých programů. Nastavování programů pro přenos zpráv však často není právě triviální záležitostí. Situace je o to složitější, že většina uživatelů používá dialup, při kterém nejsou k Internetu připojeni trvale – což znesnadní i tak již dosti komplikovanou konfiguraci některých MTA programů.

Právě proto mnoho lidí použití textových mailerů vzdává a spokojí se raději se snadno nastavitelným, avšak méně flexibilním GUI klientem – a to je jistě škoda. Budu rád, když se tento článek stane inspirací pro ty z vás, kteří již dlouho pokukují třeba po Muttovi, ale odrazuje je nutnost složité konfigurace Sendmailu a dalších programů.

Pro stahování pošty z POP3/IMAP serveru je nejčastěji používán fetchmail. Fetchmail je dobrý program, který pracuje prakticky s jakýmkoliv komunikačním protokolem, který vás může napadnout. Má však jednu nevýhodu. Fetchmail nedoručuje zprávy přímo do mailboxu (do souboru). K tomu musíte nainstalovat lokální MTA program, který teprve rozděluje zprávy do mailboxů uživatelů.

Pokud ale chcete stahovat zprávy z POP3 serveru přímo do souboru, bez nějakých prostředníků, doporučuji použít getmail. Getmail je jednoduchý program napsaný v Pythonu (musíte mít tedy nainstalován interpret Pythonu), který si můžete stáhnout například tady. Jestliže vaše distribuce používá RPM, tak si můžete značně usnadnit práci stažením instalačního balíčku.

Konfigurace getmailu je snadná. Ve svém domovském adresáři vytvoříte adresář ‚.getmail‘ a v něm soubor ‚getmailrc‘ nejlépe tak, že si upravíte dodávaný vzorový konfigurační soubor. Nejdůležitější parametry jsou – jméno serveru (server), jméno uživatele (username), přihlašovací heslo (password) a adresář, kam budou zprávy doručeny (postmaster). Tady se zastavím, abych uvedl, že getmail umí doručovat zprávy jak do formátu mbox (všechny zprávy v jednom souboru), tak i do maildirů (každá zpráva v samostatném souboru). Výběr maildiru se provede tak, že jméno adresáře je zakončeno znakem ‚/‘, pokud je uvedený soubor bez ukončovacího lomítka, getmail předpokládá doručování do mboxu. Většina uživatelů pravděpodobně bude chtít doručovat do méně dokonalého, zato však mnohem více podporovaného mboxu. Stahování samotné se zahájí voláním příkazu getmail, který si můžete přidat do nějakého skriptu volaného při navázání spojení.

Stažení pošty ze serveru je však pouze jeden krok k plnohodnotnému využití maileru. Tím druhým je možnost odesílat dopisy a v případě, že zrovna nejste připojeni k Internetu, také možnost odložit jejich doručení na později. Pamětníci si možná vzpomenou, že o této problematice se už jednou na ROOTu psalo. Leoš Literák tehdy popisoval program OfflineMailer (který se mezi tím stihl přejmenovat na OMTA). Mně se však osvědčil Masqmailer, který najdete tady.

Masqmail pracuje jako démon, který poslouchá na portu 25 (SMTP), kde přijímá zprávy od emailového klienta. Kromě toho obsahuje také wrapper, který převádí zprávy tak, jako by byly odeslány přímým voláním lokálního sendmailu. Všechny maily ukládá do fronty a po navázání spojení k Internetu se je snaží doručit.

Masqmailer se také nejlépe instaluje skrze rpm – ke stažení je verze pro distribuci SuSE, která však funguje i pod RedHatem. Konfigurace masqmaileru je poněkud pracnější. Základem je soubor /etc/masqmail.conf, ve kterém se nastavují základní parametry, jako je třeba jméno počítače (host_name), a metoda, kterou masqmail použije ke zjištění připojení (online_detect). Důležitým parametrem je „do_queue“, který by měl být nastaven na „true“ pokud chcete, aby se masqmail choval tak, jak je uvedeno výše. Posledním důležitým parametrem je „connect_route“, což je odkaz na další konfigurační soubor, který už obsahuje parametry SMTP serveru. Za zmínku stojí skutečnost, že takto můžete určit více serverů, takže pokud se třeba připojujete k Internetu přes více poskytovatelů, můžete pro každé připojení vybrat jiný SMTP server. Parametry těchto spojení se nastavují v souborech *.route v adresáři /etc/masqmail, na které se odkazujete pomocí již zmíněného parametru „connect_route“. V těchto souborech je nejdůležitějším parametrem adresa SMTP serveru (mail_host). Asi budete také chtít, aby Masqmail automaticky měnil adresu odesílatele (jméno pepa@localhost převede na pepa@vasedomena.cz). To se dělá parametrem „map_h_from_ad­dresses“.

CS24_early

Až navážete připojení k Internetu, můžete nashromážděné zprávy odeslat příkazem „masqmail -qo route“, kde route je jméno z konfiguračního souboru s definicí SMTP serveru. Celý proces můžete zautomatizovat tak, že masqmail naučíte, aby poznal, kdy je připojen k Internetu a sám odeslal zprávy. Já jsem na to šel tak, že jsem ve skriptu, který se volá těsně po navázání spojení (např. /etc/ppp/ip-up.local) vytvořil prázdný soubor a tento soubor jsem nechal masqmail hlídat (volba online_file v masqmail.conf). Masqmail tak poznal, kdy je připojen a v pravidelných intervalech odesílal zprávy.

Na závěr bych chtěl dodat, že zmíněná řešení zdaleka nejsou jediná možná. Jiní uživatelé používají jiné programy a postupy – někteří si ochočí sendmail nebo třeba postfix a zprávy stahují fetchmailem. Jiní si zase poštovního klienta přímo přeloží s podporou POP3 (určitou, byť omezenou funkčnost POP3/IMAP deklaruje jak Mutt, tak i Pine). Zkrátka cest je mnoho a pokud někdo ze čtenářů používá nápaditější řešení, může se s námi o něj podělit v diskuzi pod článkem.

Byl pro vás článek přínosný?

Autor článku