使用postfix主机通配符子域名

我正在努力解决如何让postfix接受我的主站点的任何子域的电子邮件。 我没有虚拟域名,只有本地交付的一大串子域名。 具体来说,我使用别名文件将python@*.mydomain.com给Python:

 python: |/www/proc_email.py 

Python可以处理从那里传递。 我期待着这样的观点:

 mydestination = encendio, localhost.localdomain, localhost, *.mydomain.com 

我在Ubuntu上运行最新版本的postfix(不正确地确定如何检查版本)。

提前致谢。

如果您在Postfixconfiguration中明确列出目标,则不能使用通配符,但幸运的是, $mydestination选项接受表查找。 所以试着把$mydestination设置成像这样的pcre地图 :

 mydestination = pcre:/etc/postfix/mydestinations 

然后创build/etc/postfix/mydestinations

 /encendio/ ACCEPT /localhost\.localdomain/ ACCEPT /localhost/ ACCEPT /.*\.mydomain\.com/ ACCEPT 

从技术上讲,你可以把任何东西放在“接受”的地方,因为结果被忽略了。 只要比赛的存在就足够了 :

指定主机或域名,“/ file / name”或“type:table”模式的列表,用逗号和/或空格分隔。 “/文件/名称”模式被其内容replace; 当名称与查找键相匹配(查找结果被忽略)时,匹配“types:表”查找表。

在接受的答案pcre解决scheme运作良好,但您可能要考虑锚定的正则expression式,以避免只获得部分域名的命中。

 /^encendio$/ ACCEPT /^localhost\.localdomain$/ ACCEPT /^localhost$/ ACCEPT /^.*\.mydomain\.com$/ ACCEPT 

*.mydomain.com不会工作。

您需要创buildrelay-domains并把所有的子域放在那里。 每行1个。