Cyrus öldü, yaşasın Dovecot!
Oh be! Sonunda Cyrus SASL’ın saçma sapan kurulum dosyalarından ve kurulmasının saatlerimi almasından kurtuldum. SMTP kullanıcı girişi için normalde Cyrus SASL kullanıyordum, ama Debian Lenny’den yeniden Ubuntu 9.04 sunucuya geçmek için baştan kurulum yaptım ve Cyrus her zaman ki beni çileden çıkarttı. Sürekli bir ‘permission denied‘ hatası alıyorum, ama sağolsun Cyrus hiç bilgi vermemeyi tercih ediyordu. Sonunda araştırmalarım sonuç verdi ve Cyrus’tan sonsuza kadar kurtuldum!
Nasıl yapacağımıza gelince tanıdık bir dostu kullanacağız; Dovecot. Nasıl olsa SMTP sunucunuzun kurulduğu noktada bir POP3 veya IMAP sunucunuz var, QMail gibi karmaşık bir yapı yerine de Dovecot gibi çözüme odaklı bir sistemi de her zaman tercih ederim, o yüzden açıkçası çok rahat ettim.
Önce dovecot-common paketini kurmakla başlayalım;
sudo apt-get install dovecot-common
Sonra /etc/dovecot/dovecot.conf dosyası içerisinde şu değişiklikleri yapalım;
auth default {
socket listen {
client {
path = /var/spool/postfix/private/auth-client
mode = 0660
user = postfix
group = postfix
}
}
mechanisms = plain login
}
Böylece Dovecot’un giriş işlemleri için bizim bağlantılarımızı da dinlemesini sağlıyoruz. Sonra Postfix’e derdimizi anlatmak için şu değişiklikleri yapıyoruz;
mynetworks = 127.0.0.0/8 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth-client smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination broken_sasl_auth_clients = yes
Hepsi bu kadar, tek yapmamız gereken Postfix ve Dovecot’u yeniden çalıştırmak. Daha sonra kullanıcılarınız hiç bir şey hissetmeden sisteme giriş ve çıkış yapabilir. Eğer daha önce SASL sistemini kurduysanız kaldırmanız da bir sakınca yok, çünkü artık SASL’la alakalı hiç bir işleminiz kalmamış durumda.
Eğer kurulumu denemek isterseniz aşağıdaki adımları takip edin, kırmızı ile işaretlenmiş kısımlar sizin yazmanız gerekenler.
mailserver ~# telnet localhost 25 Trying 127.0.0.1... Connected to mail.acme.local (127.0.0.1). Escape character is '^]'. 220 mail.acme.local ESMTP Postfix ehlo host 250-mail.acme.local 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN mail from: johndoe 250 2.1.0 Ok rcpt to: test@domain.local 554 5.7.1 <test@domain.local>: Relay access denied auth plain AGpvaG5kb2UAcGFzc3dvcmQ= 235 2.0.0 Authentication successful rcpt to: test@domain.local 250 2.1.5 Ok quit 221 2.0.0 Bye Connection closed by foreign host. [root@mail ~]#
Test ederken kullandığımız şifre Crypt ile aldığımız şifredir, o yüzden biraz enteresan gözüküyor.
Tüm kurulum adımları işte bu kadar. Umarım daha sorunsuz bir e-posta sistemine sahip olursunuz.
socket listen {
client {
path = /var/spool/postfix/private/auth-client
mode = 0660
user = postfix
group = postfix
}
}
mechanisms = plain login
}