我想为我的所有域创建一个全局别名,以捕获所有发送到地址的邮件,例如postmaster@
我已将这些行添加到aliases.pcre
:
/(MAILER-DAEMON|postmaster|abuse|webmaster)@(.*)$/ me@mydomain
并且在main.cf
virtual_alias_maps = pcre:/etc/postfix/aliases.pcre
但它也会捕获到外部域的邮件,即重定向到我发送到 [email protected] 的邮件
我可以重定向所有发送到这些地址的邮件,但前提是域在virtual_mailbox_domains
?(不写域名aliases.pcre
* 更新 *
用户、域、别名.. 存储在数据库中,使用 postfixadmin 对其进行管理。
别名表如下所示:
mysql> describe alias;
+----------+--------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------------------+-------+
| address | varchar(255) | NO | PRI | NULL | |
| goto | text | 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 | |
+----------+--------------+------+-----+---------------------+-------+
理想情况下,如果已设置,它应该尊重数据库中的别名,并且只为没有别名的地址重定向邮件
作为替代方案,您可以拆分为两个 sql 映射,而不是上面建议的长查询
除了查询之外,这两个文件都具有相同的参数。对于
/etc/postfix/mysql-virtual-aliases.cf
,您可以使用来自 postfixadmin 的默认查询并为
my-custom-query.cf
您查询这个怎么运作
如果您的第一个地图
mysql-virtual-aliases.cf
返回null,则 postfix 将尝试查询第二个地图my-custom-query.cf
。优点:
mysql-virtual-aliases.cf
,那么您只需运行一个简单的查询。缺点:
mysql-virtual-aliases.cf
,您必须运行额外的第二个查询。最后这是我配置的
在
/etc/postfix/mysql-virtual-aliases.cf
:在
/etc/postfix/mysql-virtual-aliases-postmaster.cf
:并在
main.cf
:也许有人知道更简单/有效的方法?