.. index:: single: dovecot .. _dovecot: Dovecot Email Delivery ====================== Dovecot is an IMAP server. It takes responsibility for connecting your email client (Thunderbird, etc.) to your mail box. Dovecot will also configured to provide authentication (username and password) support to Postfix that is used when an authorized user goes to send email via Postfix. To be clear, your email client will connect to Dovecot using a protocol called IMAP (or POP). In this way Dovecot provides access to your mailboxes and when you are reading your email you are using Dovecot. When you to go send mail from your email client, it connects directly to Postfix using a protocol called SMTP: Dovecot is not needed. However, before you can be allowed to access your email you need to prove that you are authorized to access it. This is referred to as authentication. To support this, Dovecot provides support for authentication. In the earlier simpler days of the Internet before Spam, authentication was not required to send email. However these days you also need to authenticate yourself to prove that you are authorized to send mail. Sending mail is handled by Postfix, but rather than building authentication into Postfix as well, Postfix is instead configured to use Dovecot for authentication when sending email. Installing Dovecot ------------------ On Redhat systems (Redhat, Fedora, Centos) you install Dovecot using:: sudo yum install dovecot Configuring Dovecot ------------------- The configuration files for Dovecot are usually found in /etc/dovecot. I recommend leaving the default configuration alone and just adding your modifications into local.conf. This file is read last and so any settings it contains will override the same settings that are contained in the default configuration. Basic Configuration ~~~~~~~~~~~~~~~~~~~ The first part of the configuration specifies which protocols to support (IMAP and/or POP3) and where the mailboxes can be found:: #protocols = imap pop3 protocols = imap mail_location = maildir:~/mail Transport Layer Security (SSL) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This assumes that you have already created an certificate using OpenSSL. The one I am using is named ssl-140409:: # TLS/SSL protocols to use (avoid older SSL protocols) ssl_protocols = !SSLv2 !SSLv3 # SSL ciphers to use ssl_cipher_list = ALL:!ADH:!EXPORT:!SSLv2:!aNULL:!eNULL:RC4+RSA:+HIGH:-MEDIUM:-LOW ssl_prefer_server_ciphers = yes # SSL certificate ssl=required ssl_cert =