使用 postfix 设置 dbmail 时出现问题

使用 postfix 设置 dbmail 时出现问题

我正在尝试使用 dbmail 创建自己的邮件服务器来存储电子邮件。我已经按照 postfix 的设置指南配置了 dbmail 来与 postfix 一起使用http://www.dbmail.org/dokuwiki/doku.php/setup_postfix但是当我重新启动 postfix 时,我收到以下警告:

* Starting Postfix Mail Transport Agent postfix 
postconf: warning: /etc/postfix/main.cf: unused parameter: user
postconf: warning: /etc/postfix/main.cf: unused parameter: dbname
postconf: warning: /etc/postfix/main.cf: unused parameter: hosts
postconf: warning: /etc/postfix/main.cf: unused parameter: query=SELECT DISTINCT 1 FROM dbmail_aliases WHERE SUBSTRING_INDEX(alias, '@', -1) = '%s';
postconf: warning: /etc/postfix/main.cf: unused parameter: password

我不明白我做错了什么以及为什么参数未被使用。

答案1

您需要将此配置添加到名为的单独文件中虚拟邮箱地图

请参阅文档:

Postfix 需要查找收件人域是否存在。否则,Postfix 将拒绝您的 DBMail 收件人,并显示“本地收件人表中的用户未知”错误。

为此,您需要在 Postfix 中启用 MySQL 或 PGSQL 模块并添加

virtual_mailbox_domains = mysql:/etc/postfix/sql-virtual_mailbox_domains.cf

在那之后创建文件并添加以下 MySQL 语句 (如果您使用 Postgres,请根据您的需要进行调整):

user     = <SQL-username> 
password = <SQL-password> 
hosts    = <SQL-host> 
dbname   = <SQL-database> 
query    = SELECT DISTINCT 1 FROM dbmail_aliases WHERE
SUBSTRING_INDEX(alias, '@', -1) = '%s';

总结:

1)创建文件:

nano /etc/postfix/sql-virtual_mailbox_domains.cf

2)将上面的 MySQL 语句添加到此文件

3)从 /etc/postfix/main.cf 中删除 MySQL 语句

4)添加到 /etc/postfix/main.cf 选项并保存更改:

virtual_mailbox_domains = mysql:/etc/postfix/sql-virtual_mailbox_domains.cf

5)重新加载配置或重新启动 Postfix:

service postfix reload

service postfix restart

相关内容