Gentoo Logo

Ghid de Învăţare Rapidă pentru Mutt

Conţinut:

1.  Introducere în Poşta Elecronică

Dacă nu sunteţi un fan al clienţilor de poştă electronică având interfeţe grafice fanteziste sau, pur şi simplu, doriţi să experimentaţi şi alţi clienţi înainte de a decide care este cel mai potrivit pentru dvs., iată modul cel mai uşor de a începe să utilizaţi aceste utilitare în linie de comandă:

fetchmail->procmail->mutt->smtp

Aceste programe nu sunt numai puternice şi foarte personalizabile, dar sunt şi mici şi eficiente. Odată ce terminaţi punerea la punct şi rularea acestui sistem de poştă electronică, veţi fi uimit de posibilităţile acestuia.

Deoarece acesta este un ghid de învăţare rapidă, vom elimina descrierea aplicaţiilor Mail Transfer Agent (MTA sau Agent de Transfer a Poştei Electronice), cum ar fi sendmail, postfix sau exim. Aceasta înseamnă eliminarea informaţiilor despre configurarea aplicaţiilor MTA. De asemenea, elimină utilizarea portului 25 pentru serviciul de poştă electronică.

Putem face aceste eliminări, deoarece fetchmail poate forţa mesajele descărcate direct către o aplicaţie Mail Delivery Agent (MDA sau Agent de Distribuţie a Poştei Electronice) în locul transmiterii acestora prin portul 25. Iar pentru modalitatea clasică de distribuire a mesajelor nu este necesară o aplicaţie MTA.

Acestea sunt aplicaţiile de care veţi avea nevoie pentru a rula sistemul dvs. de poştă electronică.

Cod 1.1: Instalarea programelor necesare

# emerge fetchmail procmail mutt nbsmtp

Apoi, este nevoie doar de patru paşi rapizi pentru a configura fişierele şi veţi avea un sistem de poştă electronică perfect funcţional.

Important: După fiecare pas expus, puteţi rula un test pentru a vă asigura că setările sunt corecte. Aceasta înseamnă că veţi avea un sistem complet funcţional de poştă electronică la finele acestui proces.

2.  Fetchmail

Fetchmail descarcă mesajele de pe sistemele server de la distanţă şi îl transferă mai departe sistemului dvs. de distribuţie a mesajelor local. Pentru a-l utiliza, trebuie să aveţi un fişier .fetchmailrc în directorul dvs. personal, ca în următorul exemplu:

Cod 2.1: Exemplu de fişier .fetchmailrc

poll mail.myisp.net protocol pop3 user "numele_meu" password "parola_mea" 

Odată ce aţi creat un fişier .fetchmailrc, va trebui să-i modificaţi permisiunile utilizând comanda chmod. Fişierul trebuie să aibă permisiuni de citire doar pentru utilizatorul proprietar. Setaţi permisiunile cu următoarea comandă:

Cod 2.2: Modificarea permisiunilor

$ chmod 600 .fetchmailrc

Pentru a-l vedea în acţiune, utilizaţi modul informativ (-v). Pentru a descărca toate mesajele, utilizaţi -a. De asemenea, trebuie să utilizaţi opţiunea -m pentru a-i specifica aplicaţiei fetchmail pentru a trimite mesajul utilizând procmail.

Atenţie: În timpul testării, este o idee bună să specificaţi aplicaţiei fetchmail să păstreze (-k) mesajele pe server-ul la distanţă, în cazul în care apar probleme şi va trebui să descărcaţi mesajele din nou.

Rulaţi-l acum, pentru a-l vedea în acţiune!

Cod 2.3: Test fetchmail nr. 1

$ fetchmail -akv -m "/usr/bin/procmail -d %T" 

Odată ce aveţi un sistem de poştă electronică functional, puteţi seta această execuţie periodic prin cron sau într-o aplicaţie de monitorizare, cum este gkrellm. Fetchmail poate, de asemenea, să ruleze în modul daemon, pentru care dvs. trebuie să-i specificaţi un interval de timp la care să descarce mesajele periodic.

3.  Procmail

Procmail este procesorul ce filtrează mesajele care îi sunt retransmise prin fetchmail. De asemenea, acesta poate distribui mesajele în căsuţele dvs. de mesaje, de unde mutt (clientul dvs. de poştă electronică) le poate citi.

Pentru a utiliza procmail, trebuie să creaţi un fişier .procmailrc în directorul dvs. personal. Pentru a fi în concordanţă cu scopurile de învăţare rapidă ale acestui ghid, vom utiliza un fişier .procmailrc foarte simplu ce va ajuta la filtrarea mesajelor de pe trei liste de distribuţie în următoarele căsuţe de mesaje: gentoo-dev, gentoo-user şi gentoo-announce

Notă: Regulile filtrului procmail sunt denumite destinaţii (recipies) şi am inclus, de asemenea, câteva reguli de fitrare pentru spam.

Cod 3.1: Exemplu de fişier .procmailrc

MAILDIR=$HOME/MuttMail                ##asiguraţi-vă că există
LOGFILE=$HOME/.procmaillog
LOGABSTRACT=no
#VERBOSE=on...este utilizat doar pentru depanare
VERBOSE=off
FORMAIL=/usr/bin/formail
NL="
"
##liniile ce definesc regulile încep cu :0
##nu puteţi comentarii pe liniile ce definesc reguli
##dezactivaţi orice regulă cu o condiţie falsă !
##liniile condiţionale încep cu * având sintaxă cu expresii regulate
##condiţiile sunt comparate cu operatorul ŞI logic, iar orice după * este pasat direct aplicaţiei egrep
##o linie de acţiune urmează condiţiilor, caz în care aceasta reprezintă un nume de căsuţă de mesaje

#filtrează duplicatele utilizând formail
:0 Whc: .msgid.lock
| $FORMAIL -D 16384 .msgid.cache

:0 a
$MAILDIR/duplicates

#expeditorii de la care accept mesaje întotdeauna
:0 
* ^From:.*(craig\@hotmail|renee\@local.com)
$MAILDIR/friends 

#acum, filtrează unele mesaje spam
:0  
* ^Subject:.*(credit|cash|money|debt|sex|sale|loan)
$MAILDIR/spam

#nu mai recepţiona mesaje în format html
:0
* ^Content-Type:.*html
$MAILDIR/junk

#acum, stochează mesajele de pe listele de distribuţie în căsuţele de mesaje
:0 
* ^List-Id:.*gentoo-user
gentoo-user

:0 
* ^List-Id:.*gentoo-dev
gentoo-dev

:0 
* ^List-Id:.*gentoo-announce
gentoo-announce

#catch any other gentoo mail
:0 
* ^From:.*gentoo.org
gentoo

:0 
* ^From:.*@freshmeat\.net
freshmeat

################################################
# Ultima regulă: mesajele ce au ajuns aici     #
# vor fi stocate în căsuţa de mesaje implicită #  
################################################
:0 
* .*
default

# Sfârşitul fişierului

Notă: Este necesar doar să creaţi căsuţa MAILDIR $HOME/MuttMail, deoarece Procmail va crea toate fişierele necesare în acest director utilizând numele de pe liniile cu acţiuni. O adresă utilă este http://www.procmail.org/

Puteţi testa fişierul .procmailrc prin rularea din nou a comenzii fetchmail testată anterior, la primul pas. Reţineţi opţiunea -k pentru a păstra toate mesajele pe server-ul la distanţă, pentru a putea rula comanda încă o dată, în caz de nevoie.

Cod 3.2: Test procmail nr. 1

$ fetchmail -akv -m "/usr/bin/procmail -d %T" 

Acum, că fetchmail şi procmail au fost rulate, navigaţi în $HOME/MuttMail şi citiţi-vă mesajele cu aplicaţia less sau cu aplicaţia file manager.

4.  Clientul de poştă electronică Mutt

Mutt este utilizat pentru a citi şi compune mesaje. Este foarte puternic şi personalizabil, precum şi mic şi eficient.

Mutt suportă citirea şi scrierea a patru formate de căsuţe de mesaje: mbox, MMDF, MH şi Maildir. Tipul căsuţei de mesaje este autodetectat. În cazul nostru, utilizăm formatul mbox, unde toate mesajele dintr-o căsuţă sunt stocate într-un singur fişier.

Mutt, de asemenea, suportă directoare stocate pe un server IMAP. Consultaţi secţiunea 4.11 despre Suportul IMAP din manualul Mutt şi de pe site-ul oficial Mutt http://www.mutt.org/

Dacă aţi instalat mutt la primul pas, acesta a instalat un fişier de configurare în /etc/mutt/Muttrc. Va trebui să creaţi, de asemenea, un fişier .muttrc în directorul dvs. personal.

Cod 4.1: Exemplu de fişier .muttrc

(Asiguraţi-vă că aţi consultat manualul Mutt din /usr/share/doc/mutt*)
(Orice setări definite aici, le suprascriu pe cele de sistem din /etc/mutt/Muttrc)

# cp /etc/mutt/Muttrc ~/.muttrc
# nano -w .muttrc
set pager_context=1                        
set pager_index_lines=6                 #afişează un paginator mini-index
set menu_scroll  
set pgp_verify_sig=no                   #nu afişează informaţia pgp în paginator
set status_on_top                       #afişează linia de stare în partea superioară
set sort=threads                        #sortează după firul discuţiilor în index

set status_format=" %r %b %f %n      Del %d      Msgs %m %l %> (%P)"
set pager_format="%-10.10i %[!%a %b %d %R]"
set date_format="!%H:%M %a %d %b     "
set index_format="%4C %Z %[%b%d] %-15.15F %s"
set folder_format="%2C %t %8s %d %N %f"

#set sendmail="/usr/bin/nbsmtp -d isp.net -h smtp.isp.net -f numeledvs@isp.net"

#set from="adresa-implcita"         #setaţi adresa dvs. de expeditor
#set realname="Numele Dvs"

set record="$HOME/MuttMail/sent"        #mesajele transmise sunt salvate aici
set delete=yes                          #ştergeţi fără confirmare
set include=yes				#citează în mesajul de răspuns
set fast_reply=yes			#fără confirmare la trasmiterea mesajului de răspuns
set beep=no				#dezactivează sunetele
set markers=no				#nu afişează + pe liniile formatate
set confirmappend=no			#fără confirmare la salvare în =keep        
set to_chars=" +TCF"                    #nu afişează L pentru listele de distribuţie

set folder = $HOME/MuttMail
mailboxes =gentoo-user
mailboxes =gentoo-dev
mailboxes =gentoo-announce
mailboxes =gentoo   
mailboxes =freshmeat
mailboxes =duplicates
mailboxes =default  
mailboxes =friends  
mailboxes =junk
mailboxes =spam
mailboxes =keep

save-hook .* =keep                      #căsuţa de mesaje implicită pentru a (s)alva mesajele în =keep
subscribe gentoo-user gentoo-dev        #subscris la aceste liste

bind pager h display-toggle-weed	#(dez)activează antetul mesajelor cu tasta h

# simularea meniului clasic url
macro index \cb |urlview\n 'se invoca urlview pentru a extrage componentele URL din mesaj'
macro pager \cb |urlview\n 'se invoca urlview pentru a extrage componentele URL din mesaj'

#rulaţi fetchmail prin apăsarea tastei G
macro index G "!fetchmail -a -m 'procmail -d %T'\r"
macro pager G "!fetchmail -a -m 'procmail -d %T'\r"  

#utilizaţi in cazul editării .muttrc şi apoi parcurgerii acestuia... nu este necesară repornirea
macro generic ,sm ":source $HOME/.muttrc\r"
macro generic \cj "!rxvt -bg wheat -e joe $HOME/.muttrc\r"

# lista implictă de linii de antet eliminate la afişarea mesajului
#ignoraţi-le pe toate şi apoi includeţi-le pe cele care le doriţi afişate
ignore *
unignore  Date To From: Subject X-Mailer Organization User-Agent
hdr_order Date From To Subject X-Mailer User-Agent Organization 

##Mutt trebuie să afişeze colorat
##acestea sunt pentru patru nivele de text citat
##acestea suprascriu setările sistem din /etc/mutt/Muttrc

#color quoted green  default
color quoted1 magenta blue 
#color quoted2 yellow default
#color quoted3 red default   
#color signature cyan cyan   


#această paletă de culori este copiată din /etc/mutt/Muttrc.color
#comentaţi-o dacă doriţi culorile implicite din /etc/mutt/Muttrc
# Eu văd viaţa în roz :-) 
color	hdrdefault	brightcyan	blue
color	header		brightwhite	blue "^from:"
color   header          brightwhite    	blue   "^subject:"

color   quoted          brightgreen     blue
color   signature       brightwhite	blue

color   indicator       blue	        green

color   error           red             black
mono    error           bold
color   status          black cyan
mono	status		bold
color   tree            yellow   	blue

color   tilde           brightmagenta   blue
color	body	brightwhite		blue	"[-a-z_0-9.]+@[-a-z_0-9.]+"
mono    body    bold                    "[-a-z_0-9.]+@[-a-z_0-9.]+"
color   body            brightyellow    black   "^Good signature"
mono    body            bold                    "^Good signature"
color   body            brightwhite     red     "^Bad signature from.*"
mono    body            bold                    "^Bad signature from.*"
color   normal          white		blue
color	message		green	black
color	attachment	brightgreen	blue

# Sfârşitul fişierului.. dar puteţi să continuaţi la nesfârşit....:)

Ca informaţie, acesta este doar un exemplu de fişier .muttrc. Mai există multe alte opţiuni pe care le puteţi configura, cum ar fi integrarea cu GPG. Puteţi consulta http://www.dotfiles.com/index.php3?app_id=27 pentru mai multe exemple şi informaţii.

Sunteţi acum, gata, să testaţi fişierul dvs. .muttrc.

Cod 4.2: Testarea .muttrc

$ mutt -y

Aceasta ar trebui să deschidă aplicaţia Mutt cu un meniu afişând căsuţele de mesaje create la Testul 2, prin rularea comenzii fetchmail.

Tastaţi ? pentr informaţii despre modul de navigare prin căsuţele de mesaje din Mutt.

5.  SMTP

Ultimul pas este setarea aplicaţiei nbsmtp ('No-Brainer SMTP') utilizată pentru a trimite mesaje server-ului dvs. SMTP. Această configuraţie este cea mai uşoară şi nu necesită decât adăugarea unei opţiuni în fişierul dvs. .muttrc.

domain: Domeniul pe care doriţi ca aplicaţia nbsmtp să-l specifice ca aparţinând de acesta. Acesta este, aproape invariabil domeniul adresei dvs. de mesagerie electronică.

dela@adresa: Acesta este adresa pe care doriţi să o specifice nbsmtp ca expeditor. Notaţi faptul că aceasta poate fi diferită de linia "From:" afişată de clientul dvs. MUA.

gazda: Acesta este server-ul smtp spre care transmiteţi.

Cod 5.1: Adăugarea suportului pentru SMTP

$ nano -w .muttrc
set sendmail="/usr/bin/nbsmtp -d isp.net -h smtp.isp.net -f numeledvs@isp.net"

Acum sunteţi gata să trasmiteţi un mesaj. Deci, în paginatorul Mutt sau in index apăsaţi tasta m pentru a compune un mesaj pentru a-l trimite la adresa dvs. de mesagerie electronică. Mutt va utiliza valoarea variabilei de mediul EDITOR sau VISUAL pentru editorul de texte utilizat pentru compoziţie, exceptând cazul în care aţi setat editor= în fişierul .muttrc. La terminarea compoziţiei mesajului, apăsaţi y pentru a transmite mesajul dvs. Dacă nu au fost raportate erori, veţi putea observa mesajul 'sending mail' urmat de 'Mail sent.'

Amintiţi-vă că în .muttrc am setat locaţia unde trebuie salvate mesajele, cu set record="$HOME/MuttMail/sent"

Acum, pentru a completa testul, rulaţi fetchmail din nou pentru a vă descărca toate mesajele şi a verifica primirea mesajului trasmis de dvs. către adresa dvs. de mail. Când vă găsiţi mesajul, apăsaţi tasta h pentru a activa afişarea afişarea tuturor liniilor de antet şi a vizualiza calea completă de trasmisie a mesajului.

Notă: Mai există o aplicaţie pe care, probabil, veţi dori să o adăugaţi, numită urlview. Aceasta extrage componentele url din textele mesajelor şi le trasmite aplicaţiei dvs. navigare.

Cod 5.2: Instalarea urlview

# emerge urlview 

Apoi, puteţi crea ~/.urlview prin copierea fişierului de configurare din /usr/share/doc/urlview*/ şi să setaţi comanda pentru lansarea în execuţie a aplicaţiei de navigare.

Aveţi acum un sistem de poştă electronică foarte puternic şi personalizabil. Pentru a putea face uz de flexibilitatea acestuia, consultaţi toate manualele şi căutaţi multiplele configuraţii ale unor utilizatori, disponibile pe internet: căutaţi după procmailrc şi muttrc.

6.  SMTP Autentificat

Utilizarea nbSMTP

Dacă aveţi nevoie de un nume de cont şi o parolă pentru server-ul dvs. de SMTP, puteţi edita comanda set sendmail din fişierul .muttrc şi să includeţi -U <numecont> -P <parola>, ca în următorul exemplu:

Cod 6.1: Setarea contului de utilizar şi a parolei pentru SMTP

set sendmail="/usr/bin/nbsmtp -U numecont -P parola -d isp.net -h smtp.isp.net -f numeledvs@isp.net"

Dacă nu doriţi ca această informaţie să fie prezentă în fişierul dvs. .muttrc, puteţi, de asemenea, să creaţi un fişier .nbsmtprc în care să includeţi toată informaţia:

Cod 6.2: exemplu ~/.nbsmtprc

auth_user = numecont
auth_pass = parola

Alternativ: Utilizarea msmtp

msmtp este o alternativă simplă a aplicaţiei nbsmtp cu posibilităţi similare.

Cod 6.3: Instalarea msmtp

# emerge msmtp

Autentificaţi-vă ca utilizator de sistem şi configuraţi msmtp prin creare unui fişier ~/.msmtprc, completând informaţiile despre server-ul dvs. SMTP. Amintiţi-vă să setaţi permisiunile fişierului la nişte valori sigure!

Cod 6.4: Configurarea msmtp

$ nano -w .msmtprc
account default
host smtp.provider.net
from numecont@provider1.net
#consultaţi pagina de manual pentru mai multe opţiuni de autentificare
auth login 
user numecont
password parola
#Dacă server-ul dvs. SMTP suportă encripţie TLS, decomentaţi linia următoare
#tls

Acum, setaţi permisiunile pentru fişier la o valoare sigură:

Cod 6.5: Setarea permisiunilor pentru fişierul de configurare

$ chmod 600 .msmtprc

În final, modificaţi sau adăugaţi următoarea linie în .muttrc

Cod 6.6: Utilizarea msmtp cu Mutt

$ nano -w .muttrc
set sendmail="/usr/bin/msmtp"

Rulaţi mutt şi transmiteţi-vă un mesaj de test pentru a vedea dacă procesul funcţionează! Consultaţi pagina de manual a msmtp pentru mai multe optiuni de configurare şi un alt exemplu.



Imprimare

Actualizat la 15 Mai 2006

Versiunea originală a acestui document a fost actualizată ultima dată la 17 Septembrie 2006

Sumar: Acest ghid vă arată cum să incepeţi să utilizaţi utilitare în linie de comandă pentru poşta electronică: fetchmail, procmail, mutt, nbsmtp, msmtp.

Mike Polniak
Autor

Ken Nowack
Editor

John Hitchings
Contribuitor

Alin Dobre
Translator

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Bytemark

Bytemark

Copyright 2001-2008 Gentoo Foundation, Inc. Questions, Comments? Contact us.