Complete Virtual Mail Server/Courier-IMAP to Database/ru

Введение
Courier-IMAP используют для обеспечения как IMAP так и POP3 сервисов. Многих интересует что POP3 не будет больше использоватся так много в IMAP. Это вполне понятно, так как IMAP имеет много преимуществ.

Основное различие между POP3 и IMAP это то, что IMAP хранит сообщения на сервере, тогда как с POP3 клиент извлекает сообщения и затем уходит с сервера. Хранение сообщений на сервере позволяет нескольким клиентам активно работать с тем же почтовым ящиком из разных мест. Самым простым примером может быть веб-почта и десктопный клиент, оба получают доступ к тем же почтовым ящиком одновременно. Также, в целом, почтовые клиенты сильно благоприятствуют протоколу IMAP. Цена за это, конечно, в первую очередь дисковое пространство и вычислительные мощности на почтовом сервере. Хоть в наши дни, дисковое пространство является дешевым, выделить 32Gb чисто для электронной почты предлагает много места для почты, практически без затрат. И если вычислительная мощность является проблемой, поиск на стороне сервера можно отключить, чтобы уменьшить нагрузку на машину.

Эта глава будет в основном сосредоточена на IMAP, но также будет включать в себя POP3 для полноты изложения. Некоторые исследования этих двух протоколов могут потребоваться, если выбор не однозначен.

Установка Courier-IMAP
имеет несколько USE флагов, которые должны быть рассмотрены. является важной зависимостью, так как он отвечает за то, как пользователи проходят аутентификацию, поэтому также рассматриваются его USE флаги.

Выбрать только нужные бэкэнды базы данных.

Если соответствующие флаги USE устанавливаются, emerge courier-imap должен подтянуть courier-authlib:

Postgres
Courier-authlib запускаетися от суперпользователя, так что доступ к сокету будет разрешен по умолчанию.

Если логин используется в синтаксисе "user@domain.com" вместо "имя пользователя", значение  должено быть изменено с   на.

Для того, чтобы использовать более сложные проверки подлинности SQL может быть использован. Courier-authlib, будет игнорировать любой из заданных ранее параметров для SELECT, но мы будем использовать их для подсчета количества учетных записей или для изменения пароля и, таким образом, при смене пароля поле имени пользователя по-прежнему используется. Если аутентификация выполняется с именем пользователя помните, что имена пользователей должны быть уникальными.

MySQL
Далее перенастройте аутентификацию для использования базы данных mailsql в courier-imap и postfix. Во всех приведенных ниже примерах замените  паролем, установленным для mysql пользователя MySQL.

Обновить необходимые службы:

Настройка authdaemon
Authdaemon is actually responsible for doing the authentication. Here authdaemon is configured to use the right database backend. Portage actually does set the  variable properly. Verify this in the configuration file. Also enable debugging here as this will help with any potential issues later.

Access permissions
Permissions must be set correctly, as the files can contain sensitive password information.

Testing courier-authlib
Courier-authlib includes a simple testing utility. It requires a valid username as parameter. Don't hesitate to check out the authtest manual page for more information. It is short but concise.

To perform some basic tests start the authlib daemon:

Run authtest with the testuser:

POP3
POP3 requires little configuring to get working. It is however recommended to skip this section and not enable/use pop3 and thus leave this setting at NO. A user may be able to remove all messages that were supposed to be stored on the server for imap usage, then incorrectly configure his mail client and purge the server of his mailbox this way.

IMAP
IMAP has a few capabilities that can be enabled.


 * to allow server side searching through messages.
 * to allow 'push' like connections.

Some clients need a minimum DH parameter length of 2048 bits (such as those using >=dev-libs/nss-3.19.1). Generate one with:

Next ensure Courier is using it:

POP3
Courier-pop3d should be started:

Once started, telnet could be used to identify initial problems. Once logging in with telnet works, a mail client can be used:

If testing works properly, add courier-pop3d to the default runlevel:

IMAP
Courier-imapd should be started:

Once started, telnet could be used to identify initial problems. Once logging in with telnet works, a mail client can be used:

If testing works properly, add courier-imap to the default runlevel:

Wrapping things up
Turn off debugging if this stage works properly.