Eu configurei um servidor de correio com o Postfix, e atualmente estou no processo de criação de caixas de correio virtuais com a ajuda do Postfixadmin. Estou usando o Courier para lidar com autenticações IMAP e estou tendo problemas para configurá-lo corretamente.
Eu estudei os logs e reduzi o problema principal, sendo que o IMAP não conseguia localizar os maildires designados. Ou seja, os maildirs não existem.
Eu sou capaz de resolver o problema criando manualmente os maildirs que o IMAP está esperando, mas eu realmente não me vejo tendo que fazer isso toda vez que eu adicionar uma caixa de correio. Eu precisaria que ele funcionasse automaticamente assim que eu adicionasse caixas de correio virtuais via Postfixadmin.
Estou sentindo falta de algo?
Aqui estão algumas informações relevantes:
O Postfixadmin usa um banco de dados MySQL para procurar caixas de correio, e a descrição da tabela relevante é a seguinte:
+------------+--------------+------+-----+---------------------+-------+
| 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 | |
+------------+--------------+------+-----+---------------------+-------+
E aqui está um registro de amostra:
username = [email protected]
password = [hashed password here]
name = User 01
maildir = [email protected]
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 é simplesmente um fictício para o propósito desta pergunta. Estou usando um domínio registrado com um registro MX funcional.)
Aqui está o conteúdo do meu /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'
(Eu criei o grupo de usuários do UNIX necessário para isso, com o UID apropriado: GID de 5000: 5000)