Fórum Ubuntu CZ/SK
Ostatní => Tipy a triky pro Linux => Téma založeno: Juraj 08 Listopadu 2008, 19:56:23
-
Jedná sa o jednoduchý návod, určený tým, ktorým postačuje na prácu jeden e-mailový účet od ISP poskytovateľa. Návod by mal slúžiť ako demonštrácia práce s poštou v konzole v duchu linuxu. Teda, že každá aplikácia robí iba to, čo má a robí to dobre v kooperácii s ostatnými aplikáciami.
Všetko som odskúšal na Debiane, návod by mal byť plne funkčný aj v Ubuntu (niektoré príkazy som preto trochu upravil). Ak by v Ubuntu niečo viazlo, pripomienky sú vítané ;)
Pojmy
Mutt - je program pre čítanie pošty. Je malý ale má veľa užitočných funkcií. Je celoobrazovkový a na unixové pomery komfortný. Nápoveda v menu je prehľadná a dostatočná. Menu aj s nápovedou sú čiastočne preložené do češtiny a slovenčiny. Mutt patril a stále patrí medzi obľúbené nástroje bradatých linuxových guru. Jeho najväčším konkurentom bol a snáď aj stále je program Pine.
Domovská stránka: http://www.mutt.org/
(http://juraj.zapisnicek.info/mutt1.png)
Mutt - listovanie
(http://juraj.zapisnicek.info/mutt2.png)
Mutt - email
(http://juraj.zapisnicek.info/mutt3.png)
Mutt - nápoveda
Exim4 - je vysoko konfigurovateľný a flexibilný MTA (Mail Transfer Agent je program, ktorý sa stará o doručovanie pošty z jedného účtu na iný.), má k dispozíci funkcie, ktoré iným MTA chýbajú. Na rozdiel od Sendmailu má zrozumitelné konfiguračné súbory, čo je dôvod, prečo ho niektorí administrátori preferujú.
Domovská stránka: http://www.exim.org/
Procmail - je Mail Delivery Agents, ktorých úlohou je doručovanie emailov. V praxi to vypadá tak, že email obdrží MTA (Mail Transfer Agent - v našom prípade exim4) a ten sa podľa niekoľkých údajov (nastavení DNS, konfigurácie SMTP a domény adresáta) rozhoduje, či sa jedná o email k lokálnemu doručeniu alebo či ho má predať ďalej. Ak sa jedná o email pre lokálne doručenie, prichádza k slovu MDA, teda v našom prípade Procmail. Ten umiestni email do predom určeného mailboxu podľa adresáta a môže aj filtrovať prichádzajúce správy.
Domovská stránka: http://www.procmail.org/
Fetchmail - je aplikácia na získavanie a presmerovanie emailov. Podporuje všetky súčasné emailové protokoly POP2, POP3, RPOP, APOP, KPOP, všetky druhy IMAP, ESMTP ETRN ,IPv6. a IPSEC.
Domovská stránka: http://fetchmail.berlios.de/
Vim - je úžasne efektívny a výkonný program slúžiaci na prípravu textov. Jedná sa o obohatený editor vi, ktorý je súčasťou každého UNIXu. Mutt ho používa na písanie e-mailov.
Domovská stránka: http://www.vim.org/
Muttprint - umožňuje tlač z Muttu a ostatných mailových klientov ako XFmail alebo Pine.
Domovská stránka: http://muttprint.sourceforge.net/
Abook - adresár spolupracujúci s Muttom.
Domovská stránka: http://abook.sourceforge.net/
(http://juraj.zapisnicek.info/abook.png)
Abook - adresár je zatiaľ prázdny
urlview - je program na extrahovanie URL z textu.
Antiword - je prehliadač a konvertor doc súborov z MS Wordu. Vie konvertovať súbory z Wordu 2, 6, 7, 97, 2000, 2002, 2003 do textu a PostScriptu.
Domovská stránka: http://www.winfield.demon.nl/
pdftotext - je aplikácia na prevod pdf do textu. Je súčasťou balíka xpdf.
Domovská stránka: http://www.foolabs.com/xpdf/
Najskôr nainštalujeme veci ktoré potrebujeme
# sudo apt-get install exim4 fetchmail mutt procmail cron vim
Miesto vim môžete použiť iný textový editor, trebárs Emacs :D
Exim4
Exim4 by mal byť po inštalácii ihneď nakonfigurovaný ale my aj tak spustíme príkaz:
# sudo dpkg-reconfigure --priority=medium exim4-config
a hneď na začiatku zvolíme položku "mail sent by smarthost; recieved via SMTP or Fetchmail" v prípade lokalizovaného výpisu to bude niečo ako "zasielanie pošty cez chytrý počítač; príjem cez SMTP alebo Fetchmail". Všetky ostatné ponuky by mali zostať ako sú, teda stláčame enter až dokonca.
Kvôli odchádzajúcej pošte zeditujeme súbor /etc/email-addresses
použite na to trebárs príkaz:
# sudo vim /etc/email-addresses
(vim môžete zameniť za gedit)
Do súboru zadáme svoj systémový login a názov ISP pre odchádzajúcu poštu v tvare:
jozef: smtp@kolobezka.sk
Vytvoríme symbolický odkaz /etc/email-addresses -> /etc/exim4/email-addresses
editujeme ďalší súbor:
# sudo vim /etc/exim4/passwd.client
a pridáme riadok v tvare:
### nazov_smtp_servera:login:password
smtp.kolobezka.sk:jozef@kolobezka.sk:moje_heslo
Procmail
Procmail je program pre filtrovanie pošty. Nastavenie procmail-u je pomerne jednoduché, stačí vytvoriť súbor .procmailrc vo svojom domovskom adresári a vložiť doňho nasledujúce riadky:
MAILDIR=$HOME/mail/
LOGFILE=$HOME/.procmaillog
VERBOSE=no
# Mailing lists
# debian-user
:0
* ^TO_debian-user
debian-user/
# All other mail goes to inbox
:0
inbox/
Budeme používať formát maildir a preto vzápätí spustíme nasledovné príkazy:
$ mkdir -p ~/mail/inbox/{cur,new,tmp}
$ mkdir -p ~/mail/sent/{cur,new,tmp}
$ mkdir -p ~/mail/debian-user/{cur,new,tmp}
Môžeme vynechať posledný príkaz, ak debian-user nepoužívame.
Fetchmail
Vzhľadom k tomu, že sa jedná len o nás ako o jedného užívateľa ktorý ho bude aj spúšťať na vyberanie pošty z POP severa, najjednoduchší spôsob bude, keď vytvoríme súbor .fetchmailrc vo svojom domovskom adresári a vložíme doň nasledujúce riadky, samozrejme patrične upravené:
poll pop.isp.sk with protocol pop3,
user isp_username there is local_username here,
with password isp_password;
mda '/usr/bin/procmail -f fetchmail'
Nahradíme pop.isp.sk, isp_username, local_username a isp_password za zodpovedajúce hodnoty.
V prípade, že používate iný protokol budete asi musieť naštudovať dokumentáciu k fetchmailu.
Ak je všetko vporiadku, nasledujúci príkaz by mal stiahnuť poštu zo servera.
$ fetchmail -vk
Ak nechceme zadávať vyššieuvedený príkaz vždy, keď chceme stiahnuť poštu, môžeme si to zautomatizovať. Spustíme preto
crontab -e
spustí sa systémový predvolený editor, pravdepodobne vim alebo nano a zadáme text:
*/10 * * * * fetchmail -s
Toto nám bude spúšťať fetchmail každých 10 minút.
Mutt - poštový klient
Vo finále si môžeme nastaviť mutt, tento krok by mal byť pomerne jednoduchý, pretože väčšinu práce už vykonávajú vyššie uvedené programy.
Vytvoríme si súbor .muttrc vo svojom domovskom adresári a vložíme doň nasledujúce riadky:
set mbox_type=maildir
set mbox="~/mail/inbox/"
set spoolfile="~/mail/inbox/"
set folder="~/mail/"
set record="~/mail/sent/"
# Add an item for each mailbox
mailboxes ~/mail/debian-user
# unessential niceties:
# Show only important stuff in the header
ignore *
unignore from resent-from reply-to x-mailer user-agent date to cc subject
# Order to display the headers in
hdr_order From: Resent-From: Reply-To: X-Mailer: User-Agent: Date: To: Cc: Subject:
# sort messages by thread
set sort=threads
# Automatically quote message in reply
set include=yes
# Set quotemark to 1 byte
set indent_str="> "
# Only show the body when I edit a message
unset edit_headers
# for when you just can't wait for the cron job :)
# set up mutt so i can run fetchmail at any time by pressing G
macro index G "!fetchmail\n" "Invoke fetchmail"
macro pager G "!fetchmail\n" "Invoke fetchmail"
# tell mutt about my mailing lists
subscribe debian-user
set index_format="%4C %Z %{%b %d} %-15.15F (%?l?%4l&%4c?) %s"
Ak sa vám nepáči farebná schéma vášho mutt-u, môžete si do .muttrc vložiť nasledujúce riadky, ktoré sú zo seriálu o mutt na rootovi:
color normal brightyellow black
color indicator brightyellow red
color status cyan blue
color quoted green black
color quoted1 brightgreen black
color quoted2 white black
color header brightcyan black "User-Agent:"
color index red black "~N"
color body yellow black "[ -]*Original Message[ -]*"
Vim
Do súboru .vimrc v domovskom adresári pridáme nasledujúce riadky:
augroup mail
autocmd!
autocmd FileType mail set textwidth=70 wrap nonumber
autocmd FileType mail :nmap :w:!aspell -e -c %:e
augroup END
To zapne line wrapping, nastaví šírku riadkov na 70 znakov, vypne číslovanie riadkov a nastaví vim kontrolu pravopisu, ktorá sa vykoná po stlačení klávesy F8. Aspell musíme mať samozrejme nainštalovaný.
Nasledujúce riadky už nie sú podstatné, ale umožnia nám plne využiť mutt
muttprint, abook a urlview
Najprv začneme inštalovať niektoré ďalšie programy:
# sudo apt-get install muttprint urlview abook
Teraz pridáme do nášho ~/.muttrc súboru riadky:
set query_command="abook --mutt-query '%s'"
set print_command="muttprint"
macro index \cb "|urlview\n"
macro pager \cb "|urlview\n"
macro index a "|abook --add-email\n" 'add sender to abook'
macro pager a "|abook --add-email\n" 'add sender to abook'
Keď máte spustený mutt, po vložení týchto riadkov máte k dispozícii rozšírenia:
klávesa "p" - vytlačenie formátovanej správy
klávesa "Q" - pridá odosielateľa aktuálnej správy do abook-u
kláveda Ctrl+b - zvýraznenie URL adries
možností je viac, hlavne ohladne spolupráce mutt-u s abookom
Prílohy a HTML
Mutt je textový klient a preto ako taký používa externé programy na otváranie formátov ako pdf, obrázky, súbory MS Office. Riešení ako na to je na webe veľa, my si pridáme nasledujúce riadky do súboru ~/.mailcap:
application/msword; /usr/bin/antiword '%s'; copiousoutput; description="Microsoft Word Text"; nametemplate=%s.doc
application/pdf; /usr/bin/pdftotext '%s' -; copiousoutput; description="PDF File"; nametemplate=%s.pdf
text/html; /usr/bin/lynx -force_html '%s'; needsterminal; description=HTML Text; namet
Toto bude otvárať MS Word súbory programom Antiword, pdf súbory programom pdftotext a na zobrazenie HTML správy sa použije Lynx. Výber je orientovaný na konzolové programy, vy si tam môžete nadefinovať svoje vlastné.
Ak chceme tieto programy používať a ešte ich v systéme nemáme, nainštalujeme ich:
# sudo apt-get install antiword lynx xpdf
Odkazy
Seriál o Mutt na Linuxsoft.cz: http://www.linuxsoft.cz/article_list.php?id_kategory=221
Seriál Mutt - začínáme bezbolestně na Rootovi: http://www.root.cz/serialy/mutt-zaciname-bezbolestne/
Mutt - jak začít na Abicku: http://www.abclinuxu.cz/clanky/navody/mutt-jak-zacit
My first mutt (v anglictine): http://mutt.blackfish.org.uk/
-
ahoj, moje bádání bylo náhle ukončeno u programu Fetchmail
kali@snek:~$ fetchmail -vk
Soubor /home/kali/.fetchmailrc nesmí mít oprávnění více než -rwx--x--- (0710).
Nevíte někdo co to chce?
-
TO kalesek: no a skusil si mu nastavit tie prava na ten subor tak ako Ti pise?
Soubor /home/kali/.fetchmailrc nesmí mít oprávnění více než -rwx--x--- (0710).
-
asi ne, hledal jsem v opravnění ve vlatnostech souboru .fetchmailrc
-
jojo bylo to těmi právy ::) díky za vodítko... Na wiky je to pekne popsané. Omlouvam se za zbytečný dotaz.
pro ostani lamy: ostatní a skupina jsem dal - žádný přístup