我正在努力研究如何让 postfix 接受我的主站点的任何子域的电子邮件。我没有虚拟域,只有一长串用于本地交付的子域。具体来说,我正在python@*.mydomain.com使用别名文件输入 Python:
python: |/www/proc_email.py
Run Code Online (Sandbox Code Playgroud)
Python 可以从那里处理交付。我设想这看起来像:
mydestination = encendio, localhost.localdomain, localhost, *.mydomain.com
Run Code Online (Sandbox Code Playgroud)
我正在 Ubuntu 上运行最新版本的 postfix(不确定如何检查版本)。
提前致谢。
Ins*_*yte 20
如果您在 Postfix 配置中明确列出目标,则不能使用通配符,但幸运的是该$mydestination选项接受表查找。因此,尝试设置$mydestination为这样的pcre 映射:
mydestination = pcre:/etc/postfix/mydestinations
Run Code Online (Sandbox Code Playgroud)
然后/etc/postfix/mydestinations使用正确锚定和转义的正则表达式创建:
/^encendio$/ ACCEPT
/^localhost\.localdomain$/ ACCEPT
/^localhost$/ ACCEPT
/^.*\.mydomain\.example$/ ACCEPT
Run Code Online (Sandbox Code Playgroud)
从技术上讲,您可以在“接受”的位置放置任何内容,因为结果将被忽略;只要有比赛就足够了:
指定主机名或域名列表、“/file/name”或“type:table”模式,以逗号和/或空格分隔。“/file/name”模式被其内容替换;当名称与查找键匹配时,匹配“type:table”查找表(查找结果被忽略)。
小智 20
接受的答案中的 pcre 解决方案效果很好,但您可能需要考虑锚定正则表达式以避免仅命中部分域名。
/^encendio$/ ACCEPT
/^localhost\.localdomain$/ ACCEPT
/^localhost$/ ACCEPT
/^.*\.mydomain\.com$/ ACCEPT
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13416 次 |
| 最近记录: |