我有一个包含用户邮件服务器的表。这张表用于dovecot中的imap认证
+-------------+------------------+-------------------+------------------+------+------+---------------------------------------+--------+---------+---------------------------+
| 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 |
我需要创建别名。例如,在it@vpiduna.pp.ua上,我需要发送电子邮件至admin@vpiduna.pp.ua和al.service@vpiduna.pp.ua。 我做到了这张表:
+------------------------+-------------------------------------------------+
| source | destination |
+------------------------+-------------------------------------------------+
| it@piduna.pp.ua | admin@piduna.pp.ua, al.service@piduna.pp.ua |
+------------------------+-------------------------------------------------+
在main.cf中,我添加了这个选项:
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_aliases.cf
在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
这很有效。但是,在我的组织中,我为所有用户提供了别名。它的名字是all@piduna.pp.ua。而且,当我创建新用户时,我需要将其添加到别名all@piduna.pp.ua中。如何创建别名,自动从我的第一个表中获取所有用户帐户?