Eu tenho uma tabela com usuários para o meu servidor de e-mail. Esta tabela para autenticação por imap no dovecot:
+-------------+------------------+-------------------+------------------+------+------+---------------------------------------+--------+---------+---------------------------+
| user_name | domain_name | passwd | pwd_hash | uid | gid | mailbox_basepath | enable | quota | desc_rec |
+-------------+------------------+-------------------+------------------+------+------+---------------------------------------+--------+---------+---------------------------+
| logistic | piduna.pp.ua | loG-1990M | _no_hash_passwd_ | 2000 | 2000 | /home/maildir/piduna.pp.ua/ | 1 | 2048000 | box for logistic |
| 1c | piduna.pp.ua | 1c_user_1c | _no_hash_passwd_ | 2000 | 2000 | /home/maildir/piduna.pp.ua | 1 | 2048000 | Denisyuk V.V. |
| admin | piduna.pp.ua | AAddMmM1N | _no_hash_passwd_ | 2000 | 2000 | /home/maildir/piduna.pp.ua | 1 | 2048000 | Admin |
| al.service | piduna.pp.ua | Alumo_Serv4321 | _no_hash_passwd_ | 2000 | 2000 | /home/maildir/piduna.pp.ua | 1 | 2048000 | Alumo Service |
Em seguida, eu uso o VIEW no MYSQL, onde faço o nome de usuário concatenatio e meu domínio:
+------------------------------+-------------------------------------------------+-------------+------------------+------+------+---------------------------------------+---------+
| email_fqn | mailbox_userpath | user_name | domain_name | uid | gid | mailbox_basepath | quota |
+------------------------------+-------------------------------------------------+-------------+------------------+------+------+---------------------------------------+---------+
| [email protected] | /home/maildir/piduna.pp.ua/public/.logistic | .logistic | piduna.pp.ua | 2000 | 2000 | /home/maildir/piduna.pp.ua/public | 2048000 |
| [email protected] | /home/maildir/piduna.pp.ua/1c | 1c | piduna.pp.ua | 2000 | 2000 | /home/maildir/piduna.pp.ua | 2048000 |
| [email protected] | /home/maildir/piduna.pp.ua/admin | admin | piduna.pp.ua | 2000 | 2000 | /home/maildir/piduna.pp.ua | 2048000 |
| [email protected] | /home/maildir/piduna.pp.ua/al.service | al.service | piduna.pp.ua | 2000 | 2000 | /home/maildir/piduna.pp.ua | 2048000 |
Eu preciso criar aliases. Por exemplo, em [email protected], eu preciso enviar e-mail em [email protected] e [email protected]. Eu faço. Esta tabela:
+------------------------+-------------------------------------------------+
| source | destination |
+------------------------+-------------------------------------------------+
| [email protected] | [email protected], [email protected] |
+------------------------+-------------------------------------------------+
Em mysql-virtual_aliases.cf:
user = root
password = myPassword
dbname = mail_db
query = SELECT destination FROM virtual_aliases WHERE source='%s'
hosts = 127.0.0.1
E isso funcionando. Mas, na minha organização, tenho alias para todos os usuários. O nome é [email protected]. E, quando eu criei um novo usuário, eu preciso adicioná-lo no alias [email protected]. Como criar um alias que tire todas as contas de usuários da minha primeira tabela automaticamente?
Eu acho que preciso criar tabela com um parametro: [email protected], e depois disso, criar VIEW onde eu faço concatenatio user_name & domínio, da primeira tabela? Isso está correto? E como fazer isso corretamente?
Tags mysql postfix sql dovecot email-server