Настройка Postfix и Dovecot
Введение
Эта статья охватывает настройку полноценного почтового сервера, принимающего почту по протоколу SMTP и отдающего почту по протоколам POP3 и IMAP. При настройке используются виртуальные пользователи. Это означает, что почтовый пользователь, не существующий в системе, существует для почтового сервера. Такое разделение даёт свободу системному администратору, если, например, e-mail пользователя «засветился» в спам-рассылках. Для смены e-mail'а в случае с реальным почтовым пользователем пришлось бы удалить аккаунт пользователя и создать новый. В случае виртуального почтового пользователя просто удаляется виртуальный аккаунт и создаётся новый, при этом реальный аккаунт остаётся прежним.
Особенности моего видения настройки почтового сервера (да и настроек остальных сервисов вообще): максимальная простота. В статье используются мета-пакеты. В моём понимании мета-пакет - это пакет, служащий для установки и автоматической настройки других пакетов.
Установка
Подготовка к установке
Перед началом всего процесса убедитесь, что у Вашего сервера установлено доменное имя!
Пакеты postfix и dovecot, входящие в состав дистрибутива ASPLinux-11.2, не обепечивают минимально необходимого функционала, рассматриваемого в данной статье. Поэтому я собрал RPM-пакеты на основе более новых версий приложений. Для установки достаточно скачать пакеты dovecot и postfix Необходимо для установки:
Дополнительные пакеты:
Пакеты с исходными текстами:
Установка пакетов
Есть два варианта установки: непосредственно задав команду RPM; либо через добавление пакетов в локальный репозитарий и последующей установкой через yum
Настройка
Подготовка
Процесс настройки долог и для новичка нетривиален. Поэтому я написал мета-пакеты для автоматической настройки. Необходимо для установки:
Дополнительные пакеты
Пакеты с исходными текстами:
Пакет berest-server-mail настраивает postfix и dovecot на виртуальных пользователей (наподобие пользователей vpopmail). Пакет berest-server-tls добавляет возможность шифрования SMTP и POP3 трафика.
(приношу извинения за название пакетов berest-server-mail-virt-1.1-3.brst.s.rpm и berest-server-mail-virt-1.1-3.brst.n.rpm - это на самом деле berest-server-mail-virt-1.1-3.brst.src.rpm и berest-server-mail-virt-1.1-3.brst.noarch.rpm; Google немного покорёжил имена файлов)
Процесс настройки
Этот этап выполняется по факту установки пакета berest-server-mail-virt (и, дополнительно, berest-server-tls). Описывать здесь особо нечего, интересующиеся могут скачать *src.rpm и посмотреть "изнутри"
После настройки
Если Вы установили пакет berest-server-tls, то выполните в командной строке команду berest-genCertificate и следуйте указаниям
Выполните команды:
service dovecot start service postfix start
postfix и dovecot запустятся и будут обслуживать домен Вашего сервера (согласно доменного имени). Далее необходимо поменять данные аккаунта user@$domain (где $domain - это домен сервера). Вы можете указать пароль этого аккаунта, либо переименовать аккаунт. Этот аккаунт создан автоматически, потому что на него по умолчанию поступает почта к root'у, postmaster'у и другим системным аккаунтам в вашей системе. Никому не отдавайте этот аккаунт (назначьте его себе).
Использование
На сервере
Для управления почтовыми аккаунтами я написал утилиты, помогающие в жизни администратора (эти утилиты будут доступны после установки пакета berest-server-mail-virt). Ниже приведен список названий утилит и краткое описание:
- vadd_domain: Добавить новый виртуальный домен.
- vadd_domain_alias: Добавить псевдоним к домену
- vadd_user: Добавить почтовый аккаунт
- vadd_user_alias: Добавить псевдоним к почтовому аккаунту
- vdel_domain: Удалить виртуальный домен
- vdel_domain_alias: Удалить псевдоним домена
- vdel_user: Удалить почтовый аккаунт
- vdel_user_alias: Удалить псевдоним почтового аккаунта
- vedit_user:Изменить настройки почтового аккаунта
- vlist_domain: Список всех виртуальных доменов
- vlist_domain_alias: Список псевдонимов доменов
- vlist_user: Список аккаунтов в домене
- vlist_user_alias: Список псевдонимов аккаунтов
Чтобы получить краткую помощь в использовании, выполните команду без параметров.
Например, чтобы добавить нового пользователя, наберите:
vadd_user test_user@my.cool.domain.net
Будет запрошен пароль и новый аккаунт будет создан.
Всё просто
Можно ещё проще, но писать web-админку мне откровенно лень.
На клиентских местах
Настройки почтовых клиентов самые что ни на есть обычные (SMTP -25й порт; POP3 - 110й порт, SSL).
В качестве имени пользователя необходимо указывать аккаунт с доменом. Например, test_user@my.cool.domain.net
Тип пароля: CRAM-MD5
Вроде всё. Пользуйтесь на здоровье
