Hlavní navigace

Offline posílání dopisů

Leoš Literák

Když jsem se i já připojil k masové akci na podporu Telecomu zvané Dial-up, začal jsem řešit problém, jak spolehlivě a hlavně jednoduše posílat dopisy i v době, kdy nejsem připojen k Internetu. A jedno řešení jsem nalezl - Offline mailer.

Offline mailer je dílo Woutera Coene z Holandska. Ten nejdříve používal Sendmail, ale nějak se mu nepodařilo jej nakonfigurovat, aby správně fungoval v době, kdy nebyl připojen k Internetu. Zkusil tedy použít jeden specializovaný SMTP server, který ale byl, řekněme, ve velmi raném vývojovém stádiu. A tak si tedy napsal vlastní server.

Co vlastně tento SMTP server umí? Přijímat poštu a ukládat ji do fronty, případně ji přímo zaslat na nadřízený SMTP server. To se vám určitě bude hodit, pokud máte doma či v kanceláři více počítačů a pouze jeden z nich slouží jako brána do Internetu. Dále umí předat místní poštu lokálnímu doručovateli, jakým je například procmail. Můžete si specifikovat, které stroje jsou lokální. Určitou zajímavostí je práce s hlavičkami zprávy. Můžete přidávat vlastní hlavičky či měnit ty existující. Tím se dají například opravit chyby některých poštovních agentů (třeba problémy s češtinou).
Offline Mailer dokáže vkládat nejen do hlaviček nejrůznější hodnoty pomocí direktiv. K dispozici máte asi 24 různých příkazů – od vložení jména, domény nebo FQDN počítače, data či času, unikátního identifikátoru zprávy, informacích o odesílateli či příjemci emailu až po primitivní, ale přesto účinné podmíněné zpracování. Procmail se jako místní doručovatel nastaví tímto příkazem v konfiguračním souboru: LocalMTA „/usr/bin/procmail -d %!“.

Přestože se Offline Mailer snaží o aplikační kompatibilitu se Sendmailem, neplatí to v případě konfiguračních souborů. Tady se o kompatibilitě určitě nedá hovořit. Naštěstí. Konfigurační soubor /etc/offlinema­iler.conf je velice jednoduchý a přehledný. A pokud použijete šablonu, za minutu jste hotovi. Jediné, co potřebujete změnit, je adresa SMTP serveru, kam budete odesílat poštu. Případně můžete ještě povolit zpracování uživatelsky specifických konfiguračních souborů. Teď se asi někteří ze čtenářů chytají za hlavu a budou to považovat za bránu pro hackery. Naštěstí ale Offline mailer není kompatibilní se Sendmailem v bezpečnostních dírách a chybách. Naopak, pokud uživatel specifikuje vlastní frontu, port či lokální doručovač, Offline mailer se dočasně zbaví rootovských práv, takže by neměl napáchat nějakou škodu. Co si ale dial-up uživatelé určitě nastaví, je položka FromAddress. Díky ní se změní odesílatel dopisu. Odpovědi na vaše dopisy pak budou chodit na specifikovanou adresu. Protože za modemem připojovaným na několik minut asi nebudete mít skutečnou doménu, v opačném případě by vás odpovědi těžko našly.

Práce s Offline Mailerem je jednoduchá. Ve svém poštovním programu si nastavíte jako SMTP server localhost. Napíšete nějaké dopisy a odešlete je. Příkazem mailq si vypíšete frontu. A až se připojíte, frontu vyprázdníte příkazem transfermail. Je vhodné přidat tento příkaz mezi příkazy prováděné po připojení. A tady je jedna nevýhoda programu. I když jste připojeni, veškerá nová poštu se ukládá do fronty a vy ji musíte ručně odeslat příkazem transfermail. Mě by se více líbilo, kdyby při každém novém dopise se Offline Mailer pokusil spojit se SMTP serverem a pokud by uspěl, vyprázdnil by celou frontu a odeslal i nový dopis. Pokud by se spojení nepodařilo, asi nejsme online a tak by uložil dopis do fronty pro pozdější odeslání. Přesto se mi program líbí. Pokud vás zaujal jeho popis, najdete jej na adrese http://huizen­.dds.nl/~wotti­e/mailer/.

Našli jste v článku chybu?
5. 4. 2000 12:26
Leos Literak (neregistrovaný)

no, zkuste porovnat velikost binarek i RSS sendmailu a offline maileru a pochopite dalsi duvod, proc preferuju tento program :-)

5. 4. 2000 10:00
Petr Stanek (neregistrovaný)

No ono uplne staci pouzivat SENDMAIL nastaveny jako SMART-HOST ;-) (P) V SuSE to lze jednoduse provest pres Yast i bez M4. (M4=makrojazyk, ne popularni zbran :-) (P) Nastavte Yast-)SpravaSystemu-)/etc/rc.config(BR) SENDMAIL_ARGS=-bd -om (BR) SENDMAIL_EXPANSIVE=yes (BR) SENDMAIL_NOCANONIFY=yes