Mutt
program poczty elektronicznej

Teresa Janyszek
Irena Rutkowska

Wstęp

Twórcą programu poczty elektronicznej Mutt jest Michael R. Elkins. Program ten łączy w sobie cechy kilku innych programów pocztowych, takich jak Elm, Pine i MUSH. Cechują go między innymi:

- możliwość skonfigurowania programu przez użytkownika zgodnie z jego potrzebami;
- możliwość szyfrowania i deszyfrowania listów za pomocą systemu PGP;
- możliwość wyróżniania wybranych części listu kolorami lub stylem pisma w zależności od typu terminala.

W opracowaniu opisano wersję 0.95.1i programu.

Każdy list wysyłany pocztą elektroniczną składa się z nagłówka i treści. Nagłówek dzieli się na następujące pola:
 
To: - zamieszcza się w nim adres elektroniczny, tzw. e-mail odbiorcy listu (odbiorców może być kilku, wtedy ich adresy oddziela się spacją lub przecinkiem);
Subject: - temat listu;
Cc: - lista jawnych odbiorców kopii przesyłki (adresy e-mail);
Bcc: - lista ukrytych odbiorców kopii przesyłki (będą oni niewidoczni dla odbiorców z pól To: i Cc:).

Uwaga: Pola Cc: i Bcc: są opcjonalne.

Listy przechowywane są w specjalnych plikach, zwanych czasem folderami. Niektóre z nich tworzone są automatycznie przez program, inne zaś na żądanie użytkownika.

Program pocztowy Mutt umożliwia:

- udzielenie odpowiedzi na otrzymany list przez automatyczne przeadresowanie (adres nadawcy zostanie umieszczony w polu To:), tzw. Reply;
- odesłanie otrzymanego listu do innego adresata - Forward lub Bounce;
- umieszczenie podpisu, tzw. Signature (imię, nazwisko, miejsce pracy, telefon, itp.) na końcu listu na życzenie nadawcy;
- korzystanie z utworzonej przez użytkownika książki adresowej (tzw. aliasy), celem uniknięcia konieczności pamiętania nieraz długich adresów elektronicznych oraz ewentualnych pomyłek podczas ich wprowadzania.

1. Wywołanie programu Mutt

Program Mutt wywołuje się komendą mutt lub mutt z opcjami.

1.1. Wywołanie programu komendą mutt bez opcji

Po wydaniu komendy mutt, ukaże się ekran z ewentualną listą przesyłek, o ile “skrzynka” użytkownika nie jest pusta.

Przykład:
q:Quit d:Del u:Undel s:Save m:Mail r:Reply g:Group ?:Help
1

2

3

4

5

O
+

T

r +

D

Jun 06

Jun 07

Jun 08

Jun 09

Jul 02

Jason Schock

Teresa Janyszek

Dorota Sadowska

Józef Janyszek

Jerzy Pankiewicz

( 10)

( 15)

( 289)

( 17)

( 6)

My sweetest

Re: test

Muttrc

Lund

Grom-przerwa w poniedzialek

6
N Jul 06 Jerzy Pankiewicz ( 8) /home na letycji - jest lepiej
           
--- Mutt: /var/mail/irena [Msgs:6 New:1 Old:1 Del:1 25K]--- (date/date)----(all)---

U góry ekranu znajduje się pasek menu z dostępnymi w danej chwili operacjami:
 
q:Quit - wyjście z programu poczty elektronicznej z ewentualnymi pytaniami od programu związanymi z przeprowadzonymi wcześniej operacjami na listach;
d:Del - kasowanie wybranej przesyłki (zostanie oznaczona symbolem D). Fizyczne jej skasowanie nastąpi w chwili wyjścia z programu Mutt lub przy zmianie foldera i po potwierdzeniu decyzji o kasowaniu (patrz q:Quit);
u:Undel - rezygnacja z kasowania przesyłki (patrz p. 4.);
s:Save - przeniesienie listu do innego pliku/foldera, z jednoczesnym zaznaczeniem go do skasowania w folderze aktualnym. Mutt zaproponuje następującą nazwę pliku/foldera:
- nazwa konta nadawcy - w przypadku gdy użytkownik chce zachować otrzymany list,
- nazwa konta odbiorcy - w przypadku gdy użytkownik chce zachować list wysłany przez siebie,
- lub w pliku o nazwie podanej przez użytkownika. Jeżeli plik taki jeszcze nie istnieje, to zostanie utworzony;
m:Mail - edycja i nadanie nowej przesyłki lub możliwość dokończenia wcześniej rozpoczętej redakcji listu;
r:Reply - automatyczna odpowiedź na wskazany list skierowana wyłącznie do nadawcy;
g:Group - automatyczna odpowiedź na wskazany list, zaadresowana do nadawcy i do pozostałych odbiorców przesyłki;
?:Help - pomoc.

Oprócz operacji widocznych w menu, dostępne są również:
 
@ - wyświetlenie u dołu ekranu pełnego adresu nadawcy;
a - dodanie aliasu do pliku .muttrc (patrz p. 5.), tworzonego na podstawie aktualnej przesyłki. Mutt proponuje jako nazwę symboliczną aliasu identyfikator nadawcy (użytkownik może wpisać inną nazwę), pozostałe dane (adres elektroniczny - e-mail, pełna nazwa nadawcy) zostaną wzięte z nagłówka listu, po czym program wyświetli utworzony alias z prośbą o akceptację;
o - porządkowanie przesyłek wg daty, nadawcy, tematu, itp.;
O - porządkowanie przesyłek w kolejności odwrotnej;
c - zmiana foldera z listami;
C - przekopiowanie listu do innego foldera (program proponuje zwykle nazwę foldera odpowiadającą nazwie konta nadawcy - użytkownik może podać swoją nazwę); jeśli taki folder nie istnieje, to zostanie utworzony;
h - wyświetlenie listu z pełnym nagłówkiem;
<Enter> - wyświetlenie listu;
d - zaznaczenie aktualnego listu (podświetlonego) do skasowania (symbolem D);
D - zaznaczenie do skasowania listów wybranych wg podanego wzorca;
u - rezygnacja z usunięcia listu (patrz p. 4);
U - rezygnacja z kasowania przesyłek zaznaczonych wg wzorca;
F - zaznaczenie wiadomości jako ważnej znakiem ! (oflagowanie);
b - przesłanie otrzymanej przesyłki do innego użytkownika (innych użytkowników);
f - przesłanie otrzymanej przesyłki do innego użytkownika (innych użytkowników) z możliwością dopisania własnego komentarza - tzw. forward;
R - “przywołanie” rozpoczętego wcześniej listu do dokończenia;
V - wyświetlenie u dołu ekranu wersji programu Mutt;
! - możliwość wydania pojedynczej komendy unix’owej; powrót do programu Mutt nastąpi po naciśnięciu dowolnego klawisza;
p - wydruk listu na drukarce, pod warunkiem umieszczenia w pliku sterującym wiersza:
set print_cmd=lp
i posiadania prawa korzystania z drukarki sieciowej, nadanego przez administratora sieci.

1.1.1. Operacje wykonywane na kilku przesyłkach

Mutt umożliwia przeprowadzanie pewnych czynności (np. reply, forward, bounce, itp.) jednocześnie na kilku przesyłkach. W tym celu należy zaznaczyć wybrane przesyłki symbolem gwiazdki (*) na jeden ze sposobów:
 
t - zaznaczenie bieżącej przesyłki znakiem gwiazdki;
T - zaznaczenie znakiem gwiazdki kilku przesyłek jednocześnie według określonego wzorca.

Po dokonaniu wyboru, użytkownik naciska klawisz <;>, po czym program zażąda wprowadzenia komendy odnoszącej się do zaznaczonych przesyłek.

1.2. Opcje komendy mutt

Najczęściej używanymi opcjami podczas wywołania programu Mutt są:
 
-a - dołączenie do wysyłanego listu pliku o podanej nazwie:
mutt -a nazwa_pliku adres_odbiorcy
np.
mutt -a opis.doc tlkasp@pwr.wroc.pl
-b - wysłanie kopii listu do ukrytego odbiorcy:
mutt -b adres_ukrytego_odbiorcy adres_odbiorcy
np.
mutt -b janyszek@pwr.wroc.pl irena@pwr.wroc.pl
-c - wysłanie kopii listu do jawnego odbiorcy:
mutt -c adres_jawnego_odbiorcy adres_odbiorcy
-F - wywołanie programu Mutt z innym niż .muttrc plikiem sterującym:
mutt -F nazwa_pliku_sterującego
np.
mutt -F muttrc1
-p - wejście do foldera z listami przerwanymi (nie dokończonymi) z możliwością ich dalszej redakcji i wysłania;
-f - wejście do foldera o podanej nazwie:
mutt -f nazwa_foldera
np.
mutt -f mbox
-h - wyświetlenie krótkiego helpa z opcjami programu;
-s - wprowadzenie tematu przesyłki. Jeśli temat zawiera spacje między poszczególnymi wyrazami, musi być ujęty w znaki cudzysłowu, np.
mutt -s “pozdrowienia z Grecji” irena@pwr.wroc.pl
-i - umieszczenie pliku tekstowego o podanej nazwie w treści listu. Plik ten musi być edytowany przez wysyłającego (wprowadzenie zmian lub dopisanie fragmentu tekstu), np.
mutt -i grecja.txt irena@pwr.wroc.pl

Uwaga: Wysyłając list, użytkownik może skorzystać jednocześnie z kilku opcji, pamiętając aby adres głównego odbiorcy umieścić na końcu, np.

mutt -a fot.tif -b janyszek,irena -F muttrc1 tlkasp@pwr.wroc.pl

List przesłany zostanie do użytkownika tlkasp, do ukrytych odbiorców: janyszek i irena, pracą programu będzie sterować plik muttrc1. Do listu dołączony zostanie plik o nazwie fot.tif.

2. Lista przesyłek

Pod paskiem z dostępnym menu znajduje się wykaz nagłówków otrzymanych listów. Na początku każdego wiersza, za numerem listu, może znajdować się jeden z symboli:
 
N - oznacza list nowo otrzymany, jeszcze nie czytany (New);
O - oznacza list nie przeczytany w czasie poprzednich wywołań programu Mutt - stara wiadomość (Old);
D - list oczekuje na usunięcie (Delete);
T - użytkownik jest głównym ale nie jedynym odbiorcą listu (wymienionym w polu To:);
C - użytkownik jest odbiorcą jawnej kopii listu (wymienionym w polu Cc:);
+ - użytkownik jest jedynym odbiorcą listu;
r - oznacza, że użytkownik udzielił na list automatycznej odpowiedzi (Reply);
P - oznacza list szyfrowany (encrypt) lub jednocześnie szyfrowany i sygnowany (both);
S - oznacza list sygnowany (sign lub sign as);
K - list zawiera dołączony plik z kluczem publicznym PGP.

Poza numerem i symbolami w każdym wierszu wykazu listów znajduje się data otrzymania przesyłki, jej nadawca (zazwyczaj imię i nazwisko), wielkość przesyłki w wierszach oraz jej temat.

3. Redagowanie i wysłanie listu

Aby zredagować i wysłać list należy skorzystać z komendy m (mail). Po jej wywołaniu na dole ekranu ukaże się pole To:, w którym należy podać adres elektroniczny odbiorcy, następnie pole Subject: przeznaczone na temat listu. Po wypełnieniu obu pól program Mutt uruchomi edytor (wybrany przez administratora sieci - na komputerze SUN Sparc 1000 w WCSS jest to edytor vi; użytkownik może wybrać inny edytor - patrz p. 5.) celem przystąpienia do redagowania treści listu.

Po wprowadzeniu całej treści i poprawnym zakończeniu pracy z edytorem ukaże się ekran, np.
 
y:Send q:Abort t:To c:CC s:Subj a:Attach file d:Descrip ?:Help
From:
Teresa Janyszek <tlkasp@pwr.wroc.pl>
To:
Irena Rutkowska <irena@pwr.wroc.pl>
Cc:
 
Bcc:
 
Subject:
test
Reply - To:
 
Fcc:
 
PGP:
Clear
= = = = = Attachments = = = = =

- 1 /tmp/mutt-sun1000-25928-5

[text/plain, 7bit, 0.1K]
2 ~/mutt.pomoc
[text/plain, 7bit, 1.3K]

- - Mutt:Compose
 

U góry ekranu widoczne jest menu z dostępnymi funkcjami:
 
y:Send - wysłanie listu;
q:Abort - rezygnacja z wysłania listu lub przerwanie jego redagowania i przechowanie w specjalnie utworzonym folderze o nazwie postponed, celem późniejszego dokończenia;
t:To - możliwość wprowadzenia zmian w polu To:, np. korekta adresu lub dodanie kolejnego odbiorcy;
c:CC - możliwość wprowadzenia adresu jawnego odbiorcy kopii listu;
s:Subj - możliwość zmiany w polu Subject:;
a:Attach file - żądanie przyłączenia pliku;
d:Descrip - możliwość krótkiego opisu kolejnych części składających się na przesyłkę (treść listu i dołączone pliki);
?:Help - wyświetlenie pomocy.

Oprócz poleceń widocznych w menu użytkownik ma możliwość:
 
b - wprowadzenia adresu ukrytego odbiorcy kopii listu;
r - wprowadzenia adresu, na który ma zostać przesłana ewentualna automatyczna odpowiedź (tzw. Reply);
f - wskazania, w jakim folderze będzie przechowywany wysyłany list;
p - zaszyfrowania przesyłki za pomocą systemu PGP (patrz. p. 6.);
e - powrotu do edycji listu;
E - edycji nagłówka i treści listu;
i - uruchomienia słownika w celu korekty treści listu;
P - przerwania redagowania listu i przechowania go (w folderze postponed) celem późniejszej kontynuacji;
R - zmiany nazwy dołączonego pliku (attachment);
A - żądania przyłączenia listu z wybranego foldera;
l - wydruku samej treści listu na drukarce (przed wysłaniem go adresatowi).

4. Poruszanie się po ekranie z wykazem listów

Jak wcześniej wspomniano, po wywołaniu programu Mutt, na ekranie pojawi się lista przesyłek, z których jedna jest podświetlona. Jeżeli użytkownik otrzymał nowe listy, to podświetlony będzie pierwszy z nich, w przeciwnym razie ostatni na ich wykazie. Podświetlony list nazywany jest przesyłką bieżącą lub aktualną.

Użytkownik może przesunąć podświetlenie na inną przesyłkę za pomocą klawiszy:
 
­ lub k - przejście do poprzedniej, nie zaznaczonej do skasowania przesyłki na liście;
? lub j - przejście do następnej, nie zaznaczonej do skasowania przesyłki;
K - przejście do przesyłki poprzedzającej aktualną;
J - przejście do kolejnej przesyłki na liście;
Ž - przejście do następnej strony listy przesyłek;
Ź - przejście do poprzedniej strony listy przesyłek;
Tab - skok do następnej nowej przesyłki (oznaczonej symbolem N);
Esc/Tab - podświetlenie poprzedniej nowej przesyłki;
= - skok do pierwszej przesyłki na liście;
* - skok do przesyłki ostatniej;
n - skok do listu o numerze n.

5. Tworzenie pliku sterującego .muttrc

W pliku .muttrc użytkownik może umieścić informacje i polecenia sterujące pracą programu poczty, dostosowując go tym samym do swoich potrzeb i upodobań.
Są to najczęściej:

- aliasy, czyli pozycje książki adresowej. Każdy z aliasów, dotyczący jednego użytkownika zawiera:
a) nazwę symboliczną aliasu (mogą to być np. inicjały, skrót nazwy firmy)
b) nazwę użytkownika (np. imię i nazwisko lub nazwa instytucji)
c) adres elektroniczny użytkownika (e-mail)

np.
alias ak Agata Kolska <agakol@pwr.wroc.pl>

W przypadku aliasów grupowych pozycje b) i c) powtarzają się dla kolejnych użytkowników. Dane dotyczące poszczególnych użytkowników oddziela się przecinkami, np.

alias siostry Anna Lipska <anna@pwr.wroc.pl>, Ewa Lipska <ewal@pwr.wroc.pl>

Alias grupowy może składać się też z nazw symbolicznych innych aliasów, np.

alias dziewczyny ak, siostry, Iza Winowska <iwino@linux.lo14.wroc.pl>

Uwaga: Żaden z aliasów nie może przekraczać długości jednego wiersza, a ich nazwy symboliczne nie mogą się powtarzać.
- sygnatura, czyli podpis dołączany automatycznie do listu:

set signature=nazwa_pliku_z_podpisem

- wiersz sterujący wydrukiem:
set print_cmd=lp

- wiersz umożliwiający równoczesną edycję nagłówka i treści listu:
set edit_hdrs

- wiersz umożliwiający zachowywanie wysyłanych listów w określonym przez użytkownika folderze:
set record=nazwa_foldera

- wiersz umożliwiający wybór edytora:
set editor=program_edytujący

- polecenie przeniesienia przeczytanych listów do foldera mbox:
set move=yes

lub zostawienie ich w katalogu systemowym /var/mail, w przypadku gdy:
set move=no

- polecenie wyświetlenia treści tylko jednego wybranego przez użytkownika listu (nie przechodzi automatycznie do wyświetlania następnego listu):
set pager_stop

- polecenie umożliwiające tzw. szybką odpowiedź na otrzymany list (przez Reply) z pominięciem potwierdzania zawartości pól To: i Subject:
set fast_reply

- komenda color pozwalająca wyróżniać kolorami czcionki i tła poszczególne części listów (obiekty), w przypadku korzystania z terminali kolorowych. Postać komendy:

color obiekt pierwszy_plan tło

gdzie obiektem może być: header (ze wskazaniem pól: From, Subject, To, ...), quoted (najczęściej jest to cytowana treść listu, na który użytkownik udziela odpowiedzi, korzystając z Reply), signature, itp.

- komenda mono umożliwiająca wyróżniać wybrane części listów (obiekty) stylem pisma (np. bold, underline), w przypadku korzystania z terminali mono-chromatycznych, w postaci:

mono obiekt styl - polecenie pozwalające na korzystanie przez plik sterujący z informacji zawartych w innym pliku typu rc (sterującym): source nazwa_pliku Uwaga 1: Jeżeli któryś z wierszy użytkownik chce czasowo wyłączyć, wystarczy że poprzedzi go znakiem #, co program potraktuje jako wiersz komentarza, np. #set edit_hdrs

Uwaga 2: Nazwy plików w wierszach mogą być poprzedzone ścieżką dostępu.

Przykład:

plik sterujący .muttrc:

set signature=Mutt/podpis
set print_cmd=lp
set edit_hdrs
set record=mail/sent-mail
set editor=pico
source .aliasy #wykorzystanie pliku zawierającego aliasy

# ---- ustawienie atrybutów dla terminali mono ----

mono header bold ^(From|Subject)
mono quoted underline
mono signature bold

# ---- ustawienie atrybutów dla terminali kolorowych ----

color header brightred black ^(From)
color header yellow black ^(To|Cc)
color quoted blue black
color signature yellow black
#EOF

plik .aliasy

alias ir Irena Rutkowska <irena@pwr.wroc.pl>
alias jj Józef Janyszek <janyszek@pwr.wroc.pl>
alias wcss ir, jj, Dorota Sadowska <dorota@pwr.wroc.pl>
#EOF

6. Szyfrowanie (kodowanie) listów w programie Mutt

Użytkownik korzystający z programu Mutt ma możliwość kodowania swoich listów za pomocą systemu PGP szyfrująco - deszyfrującego (patrz Informator nr 29 - “System PGP”).

Zakładamy, że użytkownik ma klucze prywatny i publiczny oraz tzw. kółko z kluczami publicznymi innych użytkowników.

6.1. Wysyłanie listów kodowanych

Po zakończeniu edycji listu (przed wysłaniem!) użytkownik wywołuje system PGP, naciskając klawisz <p>.
W tym momencie na dole ekranu ukaże się menu, z którego należy wybrać sposób kodowania przesyłki:
 
(e)ncrypt - szyfrowanie przesyłki. Zawartość pola PGP: w nagłówku listu zmieni się z Clear na Encrypt. Dalszym krokiem jest już naciśnięcie klawisza <y>, co spowoduje wysłanie listu;
(s)ign - sygnowanie (autoryzowanie) przesyłki. Zawartość pola PGP: w nagłówku listu zmieni się na Sign. W momencie wysyłania listu komendą y, system PGP poprosi nadawcę o podanie jego hasła (passphrase);
sign (a)s - sygnowanie przesyłki jednym z członów identyfikatora nadawcy (imię, nazwisko lub e-mail). Zawartość pola PGP: w nagłówku listu zmieni się na Sign. Po wywołaniu komendy y, powodującej wysłanie listu, system PGP poprosi nadawcę o wprowadzenie jego hasła (passphrase).
Przykład: Nadawca o identyfikatorze Teresa Janyszek <tlkasp@pwr.wroc.pl> w polu Sign as: może wprowadzić teresa lub janyszek lub tlkasp, itp.;
(b)oth - jednoczesne szyfrowanie i sygnowanie przesyłki. Zawartość pola PGP: w nagłówku listu zmieni się na Sign, Encrypt. Po wywołaniu komendy y, powodującej wysłanie listu, system PGP poprosi nadawcę o wprowadzenie jego hasła (passphrase);
select (m)ic algorithm - wybór algorytmu sygnowania przesyłki pod warunkiem, że list został wcześniej zasygnowany ((s)ign lub sign (a)s). Domyślnym algorytmem jest pgp-md5, który można zmienić na pgp-sha1 lub pgp-rmd160;
(f)orget it - rezygnacja (wycofanie się) z kodowania przesyłki.

6.2. Odbiór listów kodowanych

Odbiór listów szyfrowanych przebiega tak jak zwykłych z wyjątkiem tych zaszyfrowanych sposobem (e) lub (b) (patrz p. 6.1.), kiedy to odbiorca zostanie poproszony o podanie swego hasła (passphrase).

Uwaga: Użytkownicy mogą nie być proszeni o podanie hasła pod warunkiem, że wcześniej korzystali z systemu PGP, a nie wychodzili z programu Mutt

7. Przekazywanie klucza publicznego PGP

Użytkownik za pomocą programu Mutt może w łatwy i szybki sposób przeka-zywać innym użytkownikom klucze publiczne, które ma na swoim kółku. Po zredagowaniu listu należy nacisnąć klawisze <Esc/k>, po czym nadawca zostanie poproszony o wprowadzenie identyfikatora właściciela klucza (Please enter the key ID:). Po akceptacji identyfikatora plik z kluczem publicznym zostanie dołączony do listu jako tzw. attachment.

Odbiorca po wydobyciu pliku z kluczem z otrzymanej przesyłki, może go dołączyć do swojego kółka, używając komendy:
pgp -ka nazwa_pliku_z_kluczem