Mutt
Mutt je emailový konzolový klient. Jde o podobnou záležitost jako je Alpine (pine), ale s jinou filosofií ovládání a vysokou mírou možností konfigurace. Tento klient není přímo podporován CIVem, ale vzhledem ke znalostem zde uvádíme jeho základní konfiguraci. Jeho velkou výhodou je používání regulárních výrazů při vyhledávání a dalších hromadných operací s emaily. V současnosti nevyřešeným problémem je šifrování a podepisování emailů certifikátem uloženým na zaměstnaneckých JIS kartách, to je ale způsobeno chybou v cizí knihovně, která emaily nedokáže podepsat.
Toto nastavení předpokládá mutt verze 1.5.21 nebo vyšší, ideálně s rozšířeními. V Debianu je pod názvem mutt-patched, nutná je podpora SMTP a Trash.
Základní nastavení
Všechny konfigurační úpravy budou prováděny v domovském adresáři uživatele, na linuxu se předpokládá ~/.mutt/ Základní konfigurace se uvádějí do souboru muttrc, ostatní jako je obarvování, nastavení klávesových zkratek nebo dalších rozšíření se doporučuje nastavit do samostatných souborů a v muttrc je na konec připojit parametrem source.
Pošta pro odesílání
Vhodné uvést do souboru muttrc, zde je komentovaný konfigurační soubor, zvýrazněné hodnoty je třeba upravit dle vašeho nastavení:
# # SMTP # set smtp_url="smtps://civenka@smtp.zcu.cz:465/" # pro odesilani pouzivam tento ucet set from = "Civenka <civenka@civ.zcu.cz>" # vas email pro hodnotu 'From:' v emailech set envelope_from = "yes" # nastaveni odesilatele na hodnotu z 'From:'
Při prvním odeslání emailu se vás Mutt zeptá na heslo k vašemu účtu, do doby než jej ukončíte si vaše heslo zapamatuje.
Příjem pošty
# # folders # #set imap_authenticators="gssapi:login" #set ssl_starttls=yes set mbox_type=Maildir set folder="imaps://civenka@imap.zcu.cz/" # vase schranka, na tuto polozku se odkazuje dale znakem '=' set spoolfile="=INBOX" # zde se nachazi nova posta set mbox="=" # kde je mailbox set record="=Sent" # odchozi posta set postponed="=Drafts" # rozepsana posta set trash="=Trash" # kde je zahozena posta, nutno povolit nize set imap_list_subscribed=yes
V této chvíli by se měl Mutt dokázat připojit k vaší emailové schránce a dokázat odeslat poštu. Pro lepší uživatelský komfort pokračujte v konfiguraci dále.
Další nastavení pro vhodnější chování
Tato nastavení zlepšují standardní nastavení Muttu, pro základní funkcionalitu nejsou nezbytná, ale doporučená:
# # obecne # set maildir_trash = yes # ukladat smazane maily do kose, nutne rozsireni Trash set mail_check = 30 # jak casto kontrolovat novou postu v sekundach set mark_old = no # oznacovat neprectenou postu jako starou pri ukonceni Muttu, priste bude zvyraznena set pipe_decode = "yes" # umozni preprocessing zpravy jinymi programy set signature = "~/.signature" # pripoji signaturu z urceneho souboru set smart_wrap = "yes" # zalamovani na mezerach, pokud se nevejde email do radku #set wrap = "120" # po kolika znacich se ma lamat text v browseru, defaultne dle nastaveni terminalu set date_format="%d. %b (%A) v %H:%M:%S %Z %Y" # cesky format datumu set wait_key = "no" # pokud se vola ext. program, pri navratu nechtit 'Press any key to continue ...' # # Chovani pri Re: a Fwd: # set include # automaticke vkladani predchozi zpravy set attribution="%D, %a wrote:" # nastaveni uvodniho textu zpravy set forward_format="Fwd: %s" # uprava Subject: pri preposilani zpravy set forward_edit=yes # chceme preposilanou zpravu upravovat, tj. automaticky otevrit editor set forward_quote=yes # preposlana zprava bude oznacena uvozenim # # jake casti zahlavi mailu chceme zobrazovat # ignore * # nic nezobrazovat unignore From: To: Cc: Date: Subject: # z hlavicky mailu ukazat tyto polozky
Cache
Umožní rychleji prohledávat emaily, to co již stáhl ukládá do nastaveného adresáře:
# # cache # set header_cache="~/.mutt/cache" set message_cachedir="~/.mutt/cache" set message_cache_clean=yes
Rozšířená konfigurace
Sidebar
Automatické vyhledávání kontaktů pro ZČU
Je založeno na balíku lbdb, který je nutné nastavit, pro Mutt stačí nastavit jeden řádek:
set query_command="lbdbq '%s'" # prohledavani adressbooku pres LDAP
Nastavení lbdb
Tento program se nastavuje v adresáři ~/.lbdb/, hlavní část se nachází v souboru rc, kde stačí nastavit 2 hodnoty:
METHODS="m_ldap m_inmail" LDAP_NICKS="zcu.cz"
To znamená, že lbdb bude pro správu kontaktů používat dva moduly, jeden na LDAP (kontakty ZČU) a druhý vytvářet na základě příchozích emailů, oba moduly je třeba nastavit zvlášť.
modul m_ldap
Konfigurace je uložena v ~/.lbdb/ldap.rc a je třeba, aby vypadal takto (poslední řádek musí končit na "1;"):
%ldap_server_db = ( 'zcu.cz' => ['ldap.zcu.cz', 'ou=rfc2307,o=zcu,c=cz', 'givenname sn cn mail', 'givenname cn sn mail o', '${mail}', '${givenname} ${sn}', '${o}' ] ); # hostname of your ldap server $ldap_server = 'ldap.zcu.cz'; # ldap base search $search_base = 'ou=rfc2307,o=zcu,c=cz'; # list of the fields that will be used for the query $ldap_search_fields = 'uid cn sn ircnick'; # list of the fields that will be used for composing the answer $ldap_expected_answers = 'uid cn sn ircnick'; # format of the email result based on the expected answers of the ldap query $ldap_result_email = '${mail}'; # format of the realname result based on the expected answers of the ldap query $ldap_result_realname = '${cn} ${sn}'; # format of the comment result based on the expected answers of the ldap query $ldap_result_comment = '(${ircnick})'; # Don't use wildchars on searching $ignorant = 1; # Do an anonymous bind to the LDAP server: $ldap_bind_dn = ''; $ldap_bind_password = ''; 1;
modul m_inmail
Tento modul prohledá vaše emaily a vytvoří z ní databázi kontaktů v souboru ~/.lbdb/m_inmail.list, stačí do konfiguračního souboru Mutt (doporučuji do samostatného .mutt/bindings a přilinkovat jej příkazem source ~/.mutt/bindings v hlavním konfiguráku) tyto dva řádky:
# lbdb-fetchaddr macro index ",a" "<enter-command>set pipe_split=yes<enter><tag-prefix><pipe-message>lbdb-fetchaddr<enter><enter-command>unset pipe_split<enter>" "Add email address into contacts" macro pager ",a" "<enter-command>set pipe_split=yes<enter><tag-prefix><pipe-message>lbdb-fetchaddr<enter><enter-command>unset pipe_split<enter>" "Add email address into contacts"
Postupným stiskem kláves , (čárka) a a (malé písmeno 'a') se prohledá v daném emailu hlavička a vloží se emailové adresy do databáze. Pokud chcete více emailů současně, musíte je označit (tag) a pak přes ; (středník) vyvolat hromadnou operaci pro ,a
Pozor: aby program mohl prohledat emaily, bude je muset stáhnout, pokud jej necháte prohledávat například všechny emaily v Trash před tím, než je smažete. Stažení emailu může zahltit vaši linku a určitou dobu trvat. Po tuto dobu bude Mutt nedostupný, po ukončení prohledávání se automaticky vrátí jeho rozhraní. Počítejte přibližněš 10 vteřin na každých 100 emailů při rozumné konektivitě.
Problém je, že to uloží i kontakty pro ZČU, kde máme aktuálnější z LDAPu, proto je potřeba databázový soubor očistit o tyto kontakty. To nám nejlépe provede cron s tímto záznamem (pustí se denně v 19:17 a odebere všechny duplicity a adresy z domény zcu.cz):
17 19 * * * ( cd ~/.lbdb/ ; cp m_inmail.list m_inmail.list.tmp && cat m_inmail.list.tmp | sort -u -d -f -i -k 1,1 | egrep -v '[@\.]zcu.cz' > m_inmail.list && rm -f m_inmail.list.tmp )
Použití
Při dotazu na adresu příjemce stačí napsat část emailové adresy nebo jména a stisknout ctrl+t, pak si z nabídnutého seznamu stačí vybrat správnou volbu. Pokud je emailová adresa z modulu m_inmail, pak je u ní uvedeno datum poslední aktualizace. Více emailových adres se odděluje čárkou.
Formátování html emailu
# # formatovani html emailu, nutno nastavit ~/.mailcap, viz # http://www.debian-administration.org/articles/75 # auto_view text/html
Do souboru ~/.mailcap přidáme nebo upravíme řádky:
text/html; links %s; nametemplate=%s.html text/html; links -width 180 -dump %s; nametemplate=%s.html; copiousoutput
Šířku používaného terminálu lze zjistit příkazem:
$ echo $COLUMNS 211
Ale je potřeba odečíst šírku sidebaru a oddělovače, což je 26 znaků, takže jsme přidali malou rezervu.