Poczta z konsoli
Bardzo wielu użytkowników zastanawia się jak
korzystać z tekstowego programu pocztowego np. Mutt`a. W tym tekście
postaram się opisać co zrobić, aby przystosować Linuxa do pracy
w charakterze serwera poczty oraz kilka wskazówek jak można szybko
i bezboleśnie zacząć korzystać z tego programu.
Aby odbierać i wysyłać pocztę spod konsoli
musimy zainstalować i skonfigurować kilka rzeczy. Będzie to nasz
lokalny serwer poczty, program obierający pocztę z kont POP oraz
program pocztowy odpowiedzialny za tworzenie i edycje maili.
ETAP 1
Zaczniemy od serwera poczty:
Polecam pozbycie się Sendmaila (który zapewne jest w Twoim
systemie) i zainstalowanie programu o nazwie Postfix (patrz: ramka
1).
lub
jeśli występują powiązania sendmaila z innymi
programami (np. mutt) i nie możemy go usunąć :-)
Po chwili powinniśmy dostać system gotowy do
zainstalowania nowego systemu pocztowego, którym będzie wspomniany
Postfix. Ściągamy go z www.postfix.org
jako źródełka bądź rpm`y. Tutaj skupię się na instalacji
programu z rpm`a:
Gdy mamy już na dysku plik postfix-XXX.rpm
instalujemy go poprzez wpisanie:
(gdzie XXX to oczywiście nr wersji). Jeśli
wszystko przebiegało bez zakłóceń możemy uruchomić Postfix
komendą:
lub jeśli mamy RedHata
|
/etc/rc.d/init.d/postfix
start |
|
I oto mamy działający nowy system pocztowy.
Czas na jego skonfigurowanie. Załóżmy, ze nasz komputer nie jest
na stale podłączony do Internetu (np. połączenie z Tpsa) i nie
chcemy tracić czasu na rozsyłanie poczty przez naszego Linuxa.
Nasz komputer będzie tylko przekazywał (relayowal) naszą pocztę
wychodzącą na serwer naszego providera i on dalej zajmie się
dystrybucją poczty po świecie. Aby osiągnąć cel edytujemy plik
main.cf znajdujący się w katalogu /etc/postfix. W pliku tym
powinna się pojawić linijka o takiej treści:
|
relayhost=nasz.serwer.pocztowy |
|
Oczywiście za nasz.serwer.pocztowy wstawiamy
odpowiedni adres naszego providera.
UWAGA: Nie wszystkie serwery pozwalają na
relayowanie listów jeśli nie ma się u nich konta!
To wszystko, od teraz poczta będzie wędrować
do nasz.serwer.pocztowy, a ten dalej zajmie się rozesłaniem
poczty.
Następna ważna sprawa to ustawienie prawidłowo
pola From: dla listów wychodzących z naszego serwera. Jest to ważne
gdy ktoś będzie chciał nam odpowiedzieć na list (istnieje też
reply-to, ale to inna bajka), lub po to, by nasz relay wrzucał na
nasze konto informacje o nie dotarciu poczty do adresata.
Do pliku main.cf dopisujemy:
|
canonical_maps=hash:/etc/postfix/canonical |
|
Następnie w katalogu /etc/postfix tworzymy plik
canonical (jeśli nie istnieje :-)) i wpisujemy do niego sekwencje
wg przykładu:
|
nasze@konto.lokalne nasz@adres.u.providera |
|
A teraz już na rzeczywistych adresach:
|
artur@localhost.localdomain
arturoza@send.pl
root@localhost.localdomain arturoza@send.pl
juras@localhost.localdomain jpeczak@poczta.onet.pl |
|
Nie ważne z jakiego konta wysyłam pocztę (artur
czy root) poczta i tak ma w adresie wychodzącym adres konta u
mojego providera. Analogicznie gdy pisze mój wuj (z konta juras) to
jego poczta ma adres jpeczak@poczta.onet.pl.
To już wszystko odnośnie Postfixa, teraz
pozostaje nam zrestartowanie go i testowanie czy działa!!!.
Proponuję wysyłać pocztę do siebie na lokalne konta i sprawdzać
czy mają poprawnie ustawione pola From:!
Jeśli pisaliśmy listy bez połączenia z netem
i chcemy je wysłać gdy mamy połączenie wpisujemy:
ETAP 2
Teraz nadszedł czas, aby pobrać pocztę z
naszego konta POP na nasz domowy komputer. Wykorzystamy do tego celu
program Fetchmail, który może pobierać pocztę z wielu skrzynek
pocztowych jednocześnie. Rozesłaniem poczty do lokalnych użytkowników
zajmie się Procmail.
Plikiem konfiguracyjnym Fetchamaila jest plik .fetchmailrc,
który powinien znaleźć się w naszym katalogu domowym. Poniżej
podam taki przykładowy plik i postaram się wyjaśnić znaczenie
poszczególnych jego części.
|
set postmaster "artur"
#konto 1 na send.pl
poll mail.sky.pl with proto POP3
# poczta będzie pobierana z konta na serwerze
# mail.sky.pl przy użycie protokołu POP3
user "arturoza"
# nasz login
password "chcieli.byscie.wiedziec"
# no i nasze hasełko
mda "/usr/bin/procmail -f %F -d artur"
# tutaj rolę przejmuje Procmail który przekazuje pocztę
# przychodzącą z tego konta na lokalne konto artur
# (zazwyczaj do kat. /var/spool/mail)
|
|
To byłby normalny plik konfiguracyjny, jeśli
chcemy pobierać pocztę z kilku kont wystarczy wpisać je wszystkie
w tym pliku wg zasady powyżej. Jeśli chcemy pozostawić pocztę na
koncie dodajemy opcję:
keep
ETAP 3
No to mamy już pocztę w naszym komputerze (w
pliku /var/spool/mail/nasz.login), trzeba tylko ją odczytać, Do
tego celu użyjemy programu Mutt, który standardowo odczytuje ten właśnie
plik. Najpierw skonfigurujmy Mutta tak by działał tak jak chcemy:
Kopiujemy do naszego katalogu domowego plik
sample.muttrc, który zawarty jest w dokumentacji programu i
nadajemy mu nazwę .muttrc. Nie będę się tutaj zajmował całym
plikiem, lecz podam kilka najważniejszych opcji:
|
set attribution="Dnia
%d, %n napisał:"
# Tutaj podajemy to co ma pojawiać się gdy odpisujemy
# na dany list, %d oznacza datę, %n nadawcę,
set charset="iso-8859-2"
# Musimy poprawnie zakodować nasze listy
set folder="~/Mail"
# Miejsce gdzie Mutt szuka skrzynek pocztowych,
# warto sortować listy i umieszczać je
# w osobnych skrzynkach,
set realname="Artur Pęczak"
# Nasze imię, nazwisko, pseudo itp.,
set signature="~/.signature"
# Wstawia automatycznie podpis z pliku .signature
|
|
Może poustawiamy kolorki? Oto bardzo fajna
konfiguracja, którą dostałem od mojego kumpla, dzięki Rychu!
|
color indicator black cyan
color status brightgreen blue
color hdrdefault cyan black
color header brightgreen black ^From:
color header brightcyan black ^To:
color header brightcyan black ^Reply-To:
color header brightcyan black ^Cc:
color header brightblue black ^Subject:
color body brightred black
[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+
color body brightblue black (http|ftp)://[\-\.\,/%~_:?\#a-zA-Z0-9]+
color quoted green black
color attachment brightyellow black
color signature cyan black
color tree red black
color tilde blue black
color markers brightred black |
|
No to mamy już skonfigurowanego Mutta, czas zacząć
go używać. W linii poleceń wpisujemy mutt i naszym oczom ukazuje
się estetyczny, choć na pierwszy rzut oka nieprzyjazny interfejs!
(szczególnie gdy w naszej skrzynce nie ma listów!). Jeśli masz w
systemie poprawnie ustawione locale to Mutt powinien "przemówić"
po polsku!
Czytanie poczty:
Jeśli ściągamy pocztę programem Fetchmail
zostaje ona umieszczona w pliku /var/spool/mail/nasz.login. Właśnie
tam Mutt zaczyna szukać nowych listów i jeśli je znajdzie wyświetla
ich nagłówki jeden pod drugim. Aby przeczytać wybrany listy
wystarczy kliknąć enter. Jeśli list nie mieści się na ekranie
to aby przesunąć jego zawartość dalej operujemy enterem.
UWAGA: klawisze kursora przenoszą nas do następnych
(poprzednich) listów, nie operuje się nimi gdy chcemy zobaczyć
dalsza cześć tego samego listu!
Zachowywanie listów:
Niektóre listy chcielibyśmy zachować, tak by
można było do nich wrócić. Wciskamy klawisz s i możemy
podać nazwę pliku (skrzynki) do której list zostanie zapisany lub
wcisnąć ? i wybrać listę dostępnych skrzynek (gdzie Mutt
zapisuje swoje skrzynki ustawiamy w pliku konfiguracyjnym). Jeśli
wcześniej korzystaliśmy z innego programu pocztowego możemy
wykorzystać jego skrzynki i tam zapisywać naszą pocztę.
Wysyłanie:
Aby napisać list wciskamy m i ukazuje się
nam pole To: wpisujemy w nie e-mail odbiorcy. Dalej program prosi
nasz o podanie tematu listu i uruchamia edytor tekstu w którym będziemy
mogli napisać treść listu. [Zobacz też Ramka 3]. Wyedytowaną
treść listu zapisujemy i wychodzimy z edytora tekstu. Możemy
poprawić parametry listu i jeśli wszystko jest Ok wciskamy y.
Jeśli mamy połączenie list powinien zostać wysłany przez nasz
system pocztowy, gdy takowego połączenia nie ma, list zostaje
umieszczony w kolejce Postfixa i pozostanie wysłany wtedy gdy
wpiszemy postfix flush (oczywiście jak będziemy mieli połączenie).
Aliasy:
Jeśli chcemy sobie ułatwić życie, możemy
skorzystać z aliasów. Aby utworzyć szybko nowy alias wciskamy a,
podajemy nazwę aliasu, adres pocztowy osoby do której ma dotrzeć
poczta wysyłana gdy wpiszemy alias oraz prawdziwe imię i nazwisko.
Możemy to robić szybciej gdy wciśniemy a na liście od osoby do
której chcemy alias utworzyć, dane pojawią się same (będzie je
można pozmieniać oczywiście). Aby skorzystać z aliasów możemy
do pola To: wpisać pierwszych klika liter aliasu i stuknąć TAB,
wtedy powinna się pojawić pełna nazwa aliasu, bądź bez
wpisywania niczego wciskamy TAB i dostajemy pełną listę dostępnych
aliasow!
Odpowiadanie:
Aby odpowiedzieć na dany list wciskamy r.
ETAP 4
To już wszystko, jeśli opis pomógł Ci w rozwiązaniu
jakiegoś problemu proszę napisz do mnie :-) Napisz także jeśli
widzisz jakieś błędy, bądź masz jakieś uwagi, sugestie. Czekam
na listy pod adresem: arturoza@send.pl
ps. Zapewne istnieją rozwiązania lepsze i
szybsze, ale to najbardziej mi się spodobało, jest przejrzyste i
warte polecenia.
RAMKA 1:
Postfix jest alternatywnym w stosunku do
Sendmaila serwerem poczty. Jest mały, szybki, łatwy w
administracji, bezpieczny i co najważniejsze - zgodny z Sendmaiem.
Jego zalety docenia wielu administratorów i instaluje go na swoich
serwerach. Przykładem może być serwer mailowy firmy SKY-Net www.sky.pl,
na którym działa właśnie Postfix i bardzo dobrze rozsyła listy,
bo sam mam tam konto :-)
RAMKA 2:
Mutt jest małym, ale bardzo wydajnym
programem do obsługi poczty elektronicznej w systemach unixowych.
Obsługuje kolorowe terminale, MIME, wątkowanie. Jeśli opanuje się
jego obsługę stanie się profesjonalnym narzędziem, w
profesjonalnych rękach.
RAMKA 3:
Mutt uruchamia do edycji listu domyślny w naszym
systemie edytor tekstu. Zazwyczaj jest to vi, ale początkujący mają
z nim problemy i nie wiedzą co się w ogóle dzieje. Można nauczyć
się korzystać z vi, bądź podać inny standardowy (i zarazem łatwiejszy)
edytor tekstu. Proponuje Mcedit. Aby go ustawić jako domyślnego
(dla całego systemu!) w pliku /etc/profile musimy wyeksportować
zmienna EDITOR.
export EDITOR=mcedit
Teraz wystarczy tylko załogować się poprawnie
na konto i defaultowym edytorem będzie mcedit.
Artur Pęczak
arturoza@send.pl
|