Merhaba e-Bergi okurları! Bu ay ellerimizi biraz sistem komutlarıyla kirleteceğiz. Öncelikle Postfix ve Dovecot'un ne olduklarını anlatmakla başlayalım. Postfix, basit olarak kullanıcıların posta alıp göndermesini sağlayan bir posta aktarım etmenidir (MTA - Mail Transfer Agent). Dovecot ise kullanıcıların ağdaki posta aktarımlarını pop3 veya imap protokollerini kullanarak göndermesini sağlayan açık kaynak kodlu bir yazılımdır. Bu iki yazılımı çalışır hale getirmek için ilk olarak yapmamız gereken şey bunları indirip yüklemek.

**Centos**
yum install postfix dovecot system-switch-mail system-switch-mail-gnome
**Ubuntu**
    apt-get install postfix postfix-tls libsasl2 sasl2-bin libsasl2-modules popa3d
    sudo apt-get install dovecot-imapd dovecot-pop3d

Gereken yazılımlar yüklendikten sonra yapılandırma dosyalarında bazı değişiklikler yapmamız gerekiyor.

İlk olarak Postfix’ten başlıyoruz. Postfix yapılandırma dosyaları /etc/postfix de bulunuyor. Biz main.cf yapılandırma dosyası üstünde bazı değişiklikler yapacağız.

Centos için alttaki satırlardan olanları değiştireceğiz, olmayanları ekleyeceğiz.

myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.0.0/24, 127.0.0.0/8
relay_domains =
home_mailbox = Maildir/

Daha sonra, uç birime system-switch-mail komutunu yazıp açılan yerde Postfix’i seçeceğiz.

Ubuntu için:

sudo dpkg-reconfigure postfix
_Ubuntu’da bu komuttan sonra karşımıza gelen sorulara cevap vereceğiz._
    Mail tipi: Internet Site
    System mail name : mail.example.com (alan adınızı yazacaksınız)
    Root : <admin_user_name>Other Destinations for mail :   server1.example.com, example.com, localhost.example.com, localhost
    Force synchronous updates on mail queue : No
    Local networks: 127.0.0.0/8
    Mailbox size limit (bytes): 0
    Local address extension character: +
    Internet protocols to use: all
Bu adımdan sonra postaların bulunacağı dizini oluşturmak gerekiyor. Bunu iki şekilde yapabiliriz.
    sudo postconf -e 'home_mailbox = Maildir/'
    sudo postconf -e 'mailbox_command ='

ya da
    /etc/postfix/main.cf dosyasına aşağıdaki satırları kendimiz ekleriz.
    home_mailbox = Maildir/
mailbox_command =</admin_user_name>

İkinci olarak Dovecot’ı yapılandıracağız. Dovecot’ın yapılandırma dosyasında alttaki satırlardan olanları değiştireceğiz, olmayanları ekleyeceğiz.

Centos için:

vi /etc/dovecot.conf
    protocols = imap imaps pop3 pop3s
    mail_location = maildir:~/Maildir
    pop3_uidl_format = %08Xu%08Xv
    # Required on x86_64 kernels
    login_process_size = 64
    imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
    pop3_client_workarounds = outlook-no-nuls oe-ns-eoh

Ubuntu için:

vi /etc/dovecot/ dovecot.conf
    protocols = imap imaps pop3 pop3s
    disable_plaintext_auth = no 
    pop3_uidl_format = %08Xu%08Xv
    mail_location = maildir:/home/kullaniciadi/Maildir
    listen = *
    protocol imap {
     ...
    login_greeting_capability = yes
    imap_client_workarounds = tb-extra-mailbox-sep
    }

Şimdi kullanıcılar için posta kutularını yaratacağız. Bunun için alttaki satırları kullanıyoruz. Centos için:

mkdir /home/kullaniciadi/Maildir
chown kullaniciadi:kullaniciadi /home/kullaniciadi/Maildir
chmod -R 700 /home/ kullaniciadi /Maildir

Ubuntu için:

sudo cp -r /etc/skel/Maildir /home/myuser/
    sudo chown -R myuser:usergroup /home/myuser/Maildir
    sudo chmod -R 700 /home/myuser/Maildir

Daha sonra hem Postfix’i hem Dovecot’ı başlatıyoruz. Bu komutlar Ubuntu ve Centos için aynı.

/etc/init.d/postfix start   
    /etc/init.d/dovecot start

Postfix ve Dovecot’ı denemek için aşağıdaki işlemleri yapıyoruz.

#telnet localhost smtp
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail.example.com ESMTP Postfix
ehlo localhost
250-mail.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: <johndoe>250 2.1.0 Ok
rcpt to: <johndoe>250 2.1.5 Ok
data
354 End data with <cr><lf>. <cr><lf>test
.
250 2.0.0 Ok: queued as 9729067C17
quit
221 2.0.0 Bye
Connection closed by foreign host.

----------------------
telnet localhost pop3
+OK dovecot ready.
user user_name
+OK
pass password
+OK Logged in.
list
+OK 1 messages:
1 622
.
retr 1
+OK 622 octets
Return-Path: <user_name@mail.example.com>
X-Original-To: user_name
Delivered-To: user_name@mail.example.com
Received: from localhost.localdomain (localhost.localdomain [127.0.0.1])
        by mail.example.com(Postfix) with SMTP id 9729067C17
        for <user_name>; Thu, 22 Feb 2007 09:06:37 -0500 (EST)
Message-Id: <20070222140640.9729067C17@mail.example.com>
Date: Tue, 15 March 2010 06:06:37 -0500 (EST)
From: user_name@mail.example.com
To: undisclosed-recipients:;
X-IMAPbase: 1172153557 1
Status: O
X-UID: 1
Content-Length: 5
X-Keywords:

test
.
quit
+OK Logging out.
Connection closed by foreign host.</user_name></user_name@mail.example.com></lf></cr></lf></cr></johndoe></johndoe>

Postfix ve Dovecot kullanıma hazır hale geldi. Herkese iyi aylar! :)