【发布时间】:2018-09-03 08:41:20
【问题描述】:
我正在使用 CentOS 7、Postfix 和 MailScanner 构建邮件过滤设备。
我已经从 CentOS Plus 存储库安装了 Postfix,这样它就可以在支持 PostgreSQL 的情况下安装。
但是,我在弄清楚如何让 Postfix 从数据库中读取信息以及应该存在哪些表时遇到了一些麻烦。
我已经在 PostgreSQL 10.1 服务器上运行的数据库上创建了下表:
field type
id uuid
name varchar(128)
destination varchar(128)
relay_type varchar(64)
created timestamptz
updated timestamptz
active bool
基本想法是根据内部服务器和我的实验室环境中托管的电子邮件帐户的需要,在表格中填写域和目的地。
name destination relay_type active
domain.com mailserver.domain.com smtp 1
domain.xyz somewhere.domain.xyz smtp 1
notme.io notsend.notme.io smtp 0
何时实际接受域的电子邮件并中继到目的地的条件将由以下 SQL 语句表示:
SELECT 1 FROM domains where name = '%s' and active = 1
然后要确定目的地,我需要使用以下语句组合 destination 和 relay_type 列的值:
SELECT relay_type + ':' + destination AS transport FROM domains WHERE name = '%s' AND active = 1
实际的问题是我无法弄清楚要在/etc/postfix/main.cf 中修改什么来让 postfix 使用上述查询从数据库中实际读取
【问题讨论】:
标签: postgresql postfix