Uzun zamandır e-posta istemcisi olarak Mozilla Thunderbird’ı kullanıyordum ama nedense bit türlü memnun olamadım. Daha öncesinde de Kmail, Evolution, Sylpheed gibi e-posta istemcilerini denemiş hiç bir zaman arzu ettiğim sonuca ulaşamamıştım. Nedense bu tür e-posta istemcileri bana hep sorunlu gelmiştir.
Türkçe konuşan/anlayan Debian kullanıcıları listesindeki bazı liste üyelerinin e-posta istemcisi olarak Mutt’u kullanmaları dikkatimi çekti. Bunun üzerine kolları sıvayıp belkide aradığım e-posta istemcisini buldum diyerek denemeye karar verdim.
İtiraf etmeliyim ki ilk denememde “evet istediğim e-posta istemcisi bu” diyemedim. Sebebi konsoldan “mutt” yazdıktan sonra bomboş bir ekran ile karşı karşıya kalmamdı. Ama Mutt'un ayarlarının yapıldığı bir menü veya dosya mutlaka olmalıydı. Sonunda yardım menüsüne ulaşabilmem uzun sürmedi. Yardım menüsüne biraz göz attıktan sonra sıra “manpage” okumaya gelmişti, “manpage” sonrası da halen istediğim verilere tam olarak ulaşamamıştım.
Evet, işte bu noktada her araştırmada olduğu gibi sıra Google’dan yardım istemeye gelmişti. 1-2 hafta boyunca Mutt’u araştırdım. Bu araştırmalar esnasında fetchmail, procmail gibi yazılımların ne anlama geldiklerini, nerelerde kullanıldıklarını da öğrenmiştim. Evet Mutt’u araştırırken bir çok güzel bilgiye de erişivermiştim. Debian ile öntanımlı olarak gelen MTA olan Exim4 ile birlikte bütünleşik çalışacak yazılım dörtlüsünü sistemimde çalışır hale getirme vakti gelmişti artık.
Sonuç olarak bu belgede, İnternette bulduğum bilgileri ve kendi deneyimlerimi de bir araya getirip Debian kurulu bir bilgisayarda Mutt, Fetchmail, Procmail ve Exim4 ‘ün kurulumu ve yapılandırılmasını izah etmeye çalışacağım. Siz dilerseniz bu yapılandırma şeklini kendi ihtiyaçlarınıza göre daha da farklı olarak şekillendirebilirsiniz. Amacım bu konuda Türkçe bir belge ortaya koyabilmek ve bu konuda başkalarına faydalı olabilmek.
1. Exim4 Kurulumu
İlk önce bize gerekli olan paketleri yüklüyoruz;
Exim4 Debian ile öntanımlı olarak gelen, kurulumu ve ayarlaması kolay olan ayrıca sisteme çok fazla yük bindirmeyen bir MTA’dır. Bu sebeple böyle bir sistem için Exim4 en ideal MTA’lardan birisidir.
bunu yaptıktan sonra, su seçeneği secip “tamam” diyoruz. Ardindan gelen sorular içinde “enter”e basip geçelim. İnce ayarları daha sonra ayar dosyalarından elle kendimiz yapacağız.
mail sent by smarthost; recieved via SMTP or Fetchmail (Posta gönderme akıllı makine ile; posta alma SMTP/fetchmail ile)
Sonrasında ise Exim4 ile maillerimiz gönderilirken “From” kısmında hangi e-posta adresinin görüntülenmesini istediğimizi belirteceğiz. Bunun için /etc/email-addresses dosyasında Exim4’ü çalıştırdığımız sistem kullanıcımıza e-posta adresi tanımlaması yapmamız gerekecek. /etc/email-addresses dosyasında;
$LOCALUSERNAME: $EMAIL-ADDRESS
Biçimine uygun tanımlama yapacağız. Mesela ben sistemimde yerel kullanıcı olarak “fatih” hesabını kullanıyorum, “fatih” kullanıcısı ile yerel makinemden Exim4 vasıtasıyla gönderdilen e-postalarda ise sabutay@gmail.com adresinin görüntülenmesini istiyorum. Bunun için /etc/email-addresses dosyasında;
fatih: sabutay@gmail.com
şeklinde bir tanımlama yaptım.
Exim4 ile sorunsuz e-posta gönderebilmek için aşağıdaki ayarlarıda kontrol edelim;
/etc/exim4/update-exim4.conf.conf dosyasını root hakları ile açıp aşağıdaki örnek satırlarin aynısının olup olmadığına bakalım.
dc_eximconfig_configtype='smarthost'
dc_other_hostnames='localhost.localdomain'
dc_local_interfaces='127.0.0.1'
dc_readhost='debian'
dc_relay_domains=
dc_minimaldns='false'
dc_relay_nets=
dc_smarthost='smtp.gmail.com'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
Ben burada smarthost olarak smtp.gmail.com kullandım. Siz kendi yapınıza uygun olarak farklı bir smarthost kullanıyor/kullanacak olabilirsiniz.
Birde aynı dizin içerisinde bulunan passwd.client dosyasına smtp için gerekli olan bilgileri yazıyoruz. Diyezlereden sonra şöyle bir satır ekleyelim:
burada sabutay@gmail.com kullandığım için sabutay yazdım. Şifre yazan yerede benim şifremi yazdım. Bu kısma siz kendi bilgilerinizi yazıp, kaydedip çıktıktan sonra;
yazıp, Exim4’ü yeniden başlatıyoruz.
2.Procmail Kurulumu
İlk önce Procmail nedir, ne yapar ona bakalım;
Description: Versatile e-mail processor
Can be used to create mail-servers, mailing lists, sort your incoming
mail into separate folders/files (real convenient when subscribing to one
or more mailing lists or for prioritising your mail), preprocess your
mail, start any programs upon mail arrival (e.g. to generate different
chimes on your workstation for different types of mail) or selectively
forward certain incoming mail automatically to someone.
Yani procmail, filtre görevini yapıyor. Herhangi bir yerden gelen mesajları, bizim ona verdiğimiz yönergelere göre süzgeçten geçiriyor, ve onları yine kendisine belirttiğimiz klasör'e yönlendiriyor. Mesala debian-user-turkish listesinden gelen e-postaları ~/mail/debian-user-turkish dosyasına yönlendiriyor. Bunun icin ~/.procmailrc dosyasini ayarlamamız lazım;
MAILDIR=$HOME/mail/
LOGFILE=$HOME/.procmaillog
VERBOSE=no
debian-user-turkish/
linux/
linux-kurulum/
inbox/
Burada mailbox'lardan sonra gelen "/" işaretine dikkat edelim, bununla procmail, klasörleri maildir formatı olarak kullanacaktır. Eğer "/" işareti olmazsa, Mutt sonra, gelen mesajları okuyamaz.
Ardından ise, Klasörleri oluşturuyoruz.
$ mkdir -p ~/mail/inbox/{cur,new,tmp}
$ mkdir -p ~/mail/sent/{cur,new,tmp}
$ mkdir -p ~/mail/debian-user-turkish/{cur,new,tmp}
$ mkdir -p ~/mail/linux/{cur,new,tmp}
$ mkdir -p ~/mail/linux-kurulum/{cur,new,tmp}
Tabiki LKD Linux listelerine, yada Debian-listelerine üye olmayanlar, Debian ve Linux listelerini yapmalarina gerek yok, ve ilaveten 30-40 tane mail-listesi kullanan kişiler de, bunları teker teker yapması lazim. Birde tabiki procmail de listeleri yazması lazım.
Yukarıdaki komuta da açıklık getirelim. Mesala;
mkdir -p ~/mail/inbox/{cur,new,tmp}
komutu; kullanıcı dizininde, mail adında bir klasör oluşturuluyor. İçerisinde ise linux klasörü oluşturuluyor. Linux klasöründe de cur,new ve tmp adında 3 tane klasör oluşturulacak. -p ibaresi bu yüzden yazılması lazım.
tmp = Anlık olarak oluşturulan mailer burada yer alıyor, mesala debian-user-turkish listesine, bir mail yazıyorsunuz işte yazdığımız bu mail, debian-user-turkish/tmp de olacaktır.
new = Yeni mesajlar buraya gelecektir.
cur = Yeni mesajlar okunduktan sonra, buraya yönlendiriliyor, mesajlar silinmedigi sürece, burada saklanacaktır.
3.Fetchmail kurulumu
Fetchmail işi, bizim diğer sunuculardaki, mailerimiz alıp, bize getirmek, adı üstünde "fetch", Türkçe’de "gidip almak, getirmek" anlamına geliyor.
Sistemi sadece biz kullanacağımıza göre, home dizinimizdeki, gerekli ayarları ~/.fetchmailrc yazarak, işimizi halledebiliriz. Bunun icin ~/.fetchmailrc su satırları yazmamız lazım:
poll pop.isp.com with protocol pop3,
user isp_username there is local_username here,
with password isp_password;
mda '/usr/bin/procmail -f fetchmail'
Buradaki ayarı tabiki kendimize göre değiştireceğiz. Bunun için benim kullandığım, Gmail ve @sabutay.org mailerinin ayarlarını yazıyorum :
poll pop.gmail.com via pop.gmail.com protocol pop3
user 'sabutay' there with password 'SIFRE' is 'fatih' here ssl fetchall
poll mail.sabutay.org via mail.sabutay.org protocol pop3
user 'fatih' there with password 'SIFRE' is 'fatih' here fetchall
mda '/usr/bin/procmail -f fetchmail'
Yukarıda görüldüğü üzere iki tane farklı e-mail hesabımdan emailerimi alıyorum. Gmailde ssl ibaresi olduğuna dikkat edin, yoksa calışmaz. Poll dan sonra gelen ise POP3 sunucunun adresi. Sunucunun adı da, kullanılan mail hesabına göre değişir.
Bunlar için kullandığınız mail'in sitesinden gerekli bilgileri edinebilirsiniz.
Bunları da ayarladıktan sonra,
fetchmail -vk yaparak , mail hesaplarımızın düzgün şekilde yapılandırılıp yapılandırılmadıklarına bakalım. Bu komut ile, mesalar sunucuda kalacak, oluşan bilgi ve hata mesajlari ise, konsol ekranında görüntülenecek. Yani sanal bir deneme yapıyoruz. Bu deneme eğer problemsiz geçti ise, cron dosyasından fetchmailin mesajları otomatik olarak almasını sağlayabiliriz. Bunun için de konsoldan şu komutu yazalım;
crontab -e
Ardından ise, fetchmailin, her 4 dakikada bir mesajlarımızı almasını sağlayalım.
-s parametresini sürekli bilgi mesajı vermesin diye ekliyoruz.
Ayarlardan sonra, .fetchmailrc dosyasını bizim haricimizde kimsenin görememesi için;
chmod 600 .fetchmailrc
komutu etkinleştiriyoruz. Bunun sayesinde, sadece siz bu dosyayı görebiliriz. Malum içeresinde sizin şifreleriniz saklanacak.
4. Mutt kurulumu
Simdi ~/.muttrc dosyasına şu satırları ekliyoruz. Bunların çoğu benim de kullandığım parametler.
İleride kendi ihtiyaçlarınız doğrultusunda değiştirebilirsiniz. Belgenin sonunda bununla ilgili adresleri belirteceğim.
set mbox_type=maildir
set mbox="~/mail/inbox/"
set spoolfile="~/mail/inbox/"
set folder="~/mail/"
set record="~/mail/sent/"
set delete=ask-yes
bind index c change-folder
bind pager c change-folder
bind index y next-new
macro index S "| spamassassin -r" "report message to Vipul's Razor"
set pager_index_lines=10
set nomark_old
set charset=iso-8859-9
my_hdr From: Fatih ARSLAN <sabutay@gmail.com>
my_hdr Reply-To: sabutay@gmail.com
my_hdr X-Operating-System: `uname -sr`
my_hdr X-JabberID: sabutay@jabber.org
set beep_new
set alias_file=~/.mutt/alias
source ~/.mutt/alias
ignore *
unignore from resent-from reply-to x-mailer user-agent date to cc subject
hdr_order From: Resent-From: Reply-To: X-Mailer: User-Agent: Date: To: Cc: Subject:
set sort=threads
set include=yes
set indent_str="> "
unset edit_headers
subscribe mutt-users debian-user-turkish debian-user-german linux linux-masaustu dernek linux-kurulum linux-sohbet linux-programlama uludag
mailboxes +inbox +debian-user-turkish +debian-user-german +linux +linux-kurulum +linux-masaustu +linux-sohbet +linux-programlama +dernek +uludag
macro index G "!fetchmail\n" "Invoke fetchmail"
macro pager G "!fetchmail\n" "Invoke fetchmail"
macro index \cb "|urlview\n"
macro pager \cb "|urlview\n"
set query_command="abook --mutt-query '%s'"
macro index a "|abook --add-email\n" 'add sender to abook'
macro pager a "|abook --add-email\n" 'add sender to abook'
set signature="~/.signature"
color normal default default
color hdrdefault cyan default
color signature green default
color attachment brightyellow default
color indicator brightyellow default
color quoted green default
color quoted1 white default
color tilde blue default
color tree red default
color body cyan default "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
color body brightwhite default "(http|ftp|news|telnet|finger)://[^ \">\t\r\n]*"
color body brightwhite default "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+"
color header brightmagenta default ^(Date):
color header brightyellow default ^Subject:
color body brightred default " [;:]-*[)>(<|]"
Mutt ile kullanılabilecek diğer önemli uygulamalar :
Abook : apt-get install abook
Urlview: apt-get install urlview
urlwiev sayesinde mesajlardaki linkleri, firefox ile açabiliyoruz. Onun için aşağıdaki komutu işletmemiz gerekli. (firefox kullanmayanlar kendi kullandıklari web-tarayıcısını yazsın):
update-alternatives --set x-www-browser /usr/bin/mozilla-firefox
Bundan sonra, mailerde yazılan linkleri, kolaylıkla ctrl+b yaparak seçerek, firefoxda açılmasını sağlayabilirsiniz.
Telif Hakkı ve Lisans :
Bu belgeyi, Free Software Foundation tarafından yayınlanmış bulunan GNU Genel Kamu Lisansının 2 ya da daha sonraki sürümünün koşullarına bağlı kalarak kopyalayabilir, dağıtabilir ve/veya değiştirebilirsiniz. Bu lisansın bir kopyasını http://www.gnu.org/copyleft/gpl.html adresinde bulabilirsiniz.
Tüm telif hakları aksi özellikle belirtilmediği sürece sahibine aittir.
Yazan .: Fatih Arslan
Düzenleme: Serdar Aytekin (Herşey için teşekkür ederim Serdar hocam.)
Kaynaklar :
http://www.linuxforen.de/forums/showthread.php?t=161970
http://www.dcs.gla.ac.uk/~lativyn/articles/debian-mutt/
Sürüm . : 0.1
Son güncelleme tarihi .: 02/06/2005
--
Debian-tr.org - Sabutay.org