Я настроил почтовый сервер с Postfix, и в настоящее время я создаю виртуальные почтовые ящики с помощью Postfixadmin. Я использую Courier для обработки аутентификации IMAP, и у меня проблемы с его правильной настройкой.
Я изучил журналы и сузил основную проблему, заключающуюся в том, что IMAP не может найти указанные maildirs. То есть майдиров не существует.
Я могу решить эту проблему, вручную создав maildirs, ожидаемые IMAP, но я действительно не вижу, чтобы мне приходилось делать это каждый раз, когда я добавляю почтовый ящик. Мне нужно, чтобы он работал автоматически, как только я добавляю виртуальные почтовые ящики через Postfixadmin.
Я что-то упускаю?
Вот некоторая важная информация:
Postfixadmin использует базу данных MySQL для поиска почтовых ящиков, и описание соответствующей таблицы выглядит следующим образом:
+------------+--------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------------------+-------+
| username | varchar(255) | NO | PRI | NULL | |
| password | varchar(255) | NO | | NULL | |
| name | varchar(255) | NO | | NULL | |
| maildir | varchar(255) | NO | | NULL | |
| quota | bigint(20) | NO | | 0 | |
| local_part | varchar(255) | NO | | NULL | |
| domain | varchar(255) | NO | MUL | NULL | |
| created | datetime | NO | | 0000-00-00 00:00:00 | |
| modified | datetime | NO | | 0000-00-00 00:00:00 | |
| active | tinyint(1) | NO | | 1 | |
+------------+--------------+------+-----+---------------------+-------+
А вот и образец записи:
username = user@domain.com
password = [hashed password here]
name = User 01
maildir = user@domain.com
quota = 0
local_part = user
domain = domain.com
created = 2012-08-17 07:52:01
modified = 2012-08-17 07:52:01
active = 1
(domain.com - это просто пустышка для целей этого вопроса. Я использую зарегистрированный домен с рабочей записью MX.)
Вот содержание моего /etc/courier/authmysqlrc
MYSQL_SERVER 127.0.0.1
MYSQL_USERNAME [omitted]
MYSQL_PASSWORD [omitted]
MYSQL_DATABASE [omitted]
MYSQL_USER_TABLE mailbox
MYSQL_LOGIN_FIELD username
MYSQL_NAME_FIELD name
MYSQL_CRYPT_PWFIELD password
#MYSQL_CLEAR_PWFIELD password
MYSQL_MAILDIR_FIELD maildir
MYSQL_QUOTA_FIELD concat(quota,'S')
MYSQL_HOME_FIELD '/home/vmail'
MYSQL_UID_FIELD '5000'
MYSQL_GID_FIELD '5000'
(Для этого я создал необходимую группу пользователей UNIX с правильным UID: GID 5000: 5000)
Решил мою проблему, удалив наш домен из mydestinations
и позволяя Postfixadmin отправлять приветственное сообщение при создании. Очевидно, почтовые каталоги создаются, когда приходит электронное письмо, поэтому отправка приветственного сообщения позаботится об этом.