ติดตั้ง dovecot บน ubuntu

ทดสอบกับ ubuntu 10.04,8.04
ต้นฉบับจาก http://www.dovecot.org
เพิ่มเติม http://www.scribd.com/doc/31128654/Install-Guide-Ubuntu-10-04-LTS-Lucid-Lynx-Server-v1-5#page37

โปรแกรมนี้ใช้สำหรับสร้าง imap / pop3 server
สามารถติดตั้งได้ถึงแม้ว่ายังไม่ได้ติดตั้ง mail server แต่จะเปิดอีเมล์ผ่าน imap / pop3 ไม่ได้
นำมาประยุกต์ใช้เป็น imap หรือ pop3 server ให้กับ radius server ได้

ติดตั้งด้วยคำสั่ง sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d
แล้วตรวจสอบ/แก้ไขแฟ้ม /etc/dovecot/dovecot.conf  
ประมาณบรรทัดที่ 25  ตรวจสอบ/แก้ไขตัวแปรให้เป็นประมาณว่า protocols = imap imaps pop3 pop3s
ประมาณบรรทัดที่ 53  แก้ไขตัวแปรให้เป็น disable_plaintext_auth = no
ประมาณบรรทัดที่ 231 แก้ไขตัวแปรให้เป็น mail_location = mbox:~/mail:INBOX=/var/mail/%u

แล้วสั่งให้ dovecot ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/dovecot restart

แค่นี้ก็เสร็จแล้วทดสอบ imap ดังนี้คือ
ใช้คำสั่งว่า  telnet localhost 143  จะได้ข้อความแสดงประมาณว่า
Trying 127.0.0.1...
Connected to localhost
Escape character is '^]'.
* OK Dovecot ready.
ให้ป้อนคำสั่ง login ตามด้วย username และ password ที่ต้องการทดสอบดังตัวอย่าง  a login yourname yourpassword
หาก username และ password ถูกต้องจะได้รับคำตอบกลับมาว่า a OK Logged in.
กลับออกจากการทดสอบด้วยคำสั่ง a logout

หากต้องการให้ PC จากที่อื่นๆ เข้ามาใช้ imap server ตัวนี้ได้
ไปที่แฟ้ม  /etc/dovecot/dovecot.conf  ประมาณบรรทัดที่ 53
จัดการแก้ไขตั้งค่าตัวแปรให้เป็นว่า disable_plaintext_auth = no
แล้วสั่งให้ dovecot ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/dovecot restart
ทดสอบผลงานได้เลย โดยใช้ PC ตัวอื่นด้วยวิธีการทำนองเดียวกับข้อ 3 เพียงแต่เปลี่ยนจาก localhost เป็น imap server ที่ต้องการ

หากต้องการให้รับอีเมลถึงผู้ใช้ในเครื่องนี้ได้ ต้องแก้ไขค่าบางอย่าง
ไปที่แฟ้ม /etc/dovecot/dovecot.conf
แก้ไขค่าต่อไปนี้
หากต้องการให้เปิด Port รับฟัง

listen = *

หากต้องการ ให้ dovecot ผ่าน Mailbox Format แบบ mbox ให้ตั้งค่า (ขึ้นกับการตั้งค่า home_mailbox ของ postfix)
mail_location = mbox:~/mail:INBOX=/var/mail/%u

หากต้องการ ให้ dovecot ผ่าน Mailbox Format แบบ Maildir ให้ตั้งค่า (ขึ้นกับการตั้งค่า home_mailbox ของ postfix)
mail_location = maildir:~/Maildir

แล้วสั่งให้ dovecot ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/dovecot restart

สร้างต้นแบบโครงสร้าง folder ให้กับทุก user ด้วยคำสั่ง
sudo maildirmake.dovecot /etc/skel/Maildir
sudo maildirmake.dovecot /etc/skel/Maildir/.INBOX
sudo maildirmake.dovecot /etc/skel/Maildir/.Junk
sudo maildirmake.dovecot /etc/skel/Maildir/.Drafts
sudo maildirmake.dovecot /etc/skel/Maildir/.Sent
sudo maildirmake.dovecot /etc/skel/Maildir/.Trash
sudo maildirmake.dovecot /etc/skel/Maildir/.Templates

หากต้องการดูค่าที่ตั้งไว้ของ dovecot ใช้คำสั่งต่อไปนี้
sudo dovecot -n

ตัวอย่างทดสอบ imap server  ทำดังนี้สมมติชื่อ user ว่า baby รหัสผ่านคือ 1234
ใช้คำสั่งว่า  telnet localhost 143  จะได้ข้อความแสดงประมาณว่า
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK Dovecot ready.
ให้ป้อนข้อควมตอบว่า
. login baby 1234 แล้วกดแป้น Enter  ได้ข้อความประมาณว่า
. OK ...
แสดงว่า usename และรหัสผ่านถูกต้อง
กลับออกมาด้วยการข้อความว่า
. logout แล้วกดแป้น Enter

ตัวอย่างทดสอบ pop3 server  ทำดังนี้สมมติชื่อ user ว่า baby รหัสผ่านคือ 1234
ใช้คำสั่งว่า  telnet localhost 110  จะได้ข้อความแสดงประมาณว่า
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
ให้ป้อนข้อความตอบว่า
USER baby แล้วกดแป้น Enter  ได้ข้อความประมาณว่า
+OK
ให้ป้อนข้อความตอบว่า
PASS 1234 แล้วกดแป้น Enter  ได้ข้อความประมาณว่า
+OK Logged in.
กลับออกมาด้วยการข้อความว่า QUIT แล้วกดแป้น Enter

ตัวอย่างการทดสอบ pop3s server
สำหรับ gmail.com ใช้คำสั่งว่า openssl s_client -connect pop.gmail.com:995
สำหรับ yahoo.com ใช้คำสั่งว่า openssl s_client -connect pop.mail.yahoo.com:995
สำหรับ live.com,hotmail.com ใช้คำสั่งว่า openssl s_client -connect pop3.live.com:995 -crlf