Ste*_*ein 5 email postfix mailman
我正在玩 mailman3,并且遇到了这个问题:mailman3、Web 界面以及 hyperkitty 已使用 mailman-bundler 安装。我已将规定的后缀配置添加到main.cf
:
recipient_delimiter = +
unknown_local_recipient_reject_code = 550
owner_request_special = no
transport_maps = hash:/path/to/var/data/postfix_lmtp
local_recipient_maps = hash:/path/to/var/data/postfix_lmtp
relay_domains = hash:/path/to/var/data/postfix_domains
Run Code Online (Sandbox Code Playgroud)
列出的文件是世界可读的,因此不应该存在权限问题。我可以通过 Web 界面成功创建域/列表,但是当我尝试将邮件发送到列表地址时,邮件被拒绝,并显示以下消息:
Recipient address rejected: User unknown in virtual mailbox table
这个 postfix 安装通常使用 avirtual_transport
将邮件传递到 dovecot。对应的配置如下所示:
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
local_recipient_maps = $virtual_mailbox_maps
Run Code Online (Sandbox Code Playgroud)
这是基于优秀的NSA 证明您的电子邮件在 2 小时内指南。
现在,这个 StackOverflow 问题声称virtual_transport
和transport_maps
不能很好地结合在一起,尽管我在后缀文档中找不到任何可以验证此声明的内容。作者仅通过使用就解决了他们的问题,transport_maps
这对我来说似乎不是一个选择。
请注意,我还收到一条警告,称local_recipient_maps
mailman3 中的选项会覆盖先前的定义,作为 dovecot 传递的一部分。这可以通过在一行上指定两个值来解决,如下所示:
local_recipient_maps = $virtual_mailbox_maps hash:/path/to/var/data/postfix_lmtp
Run Code Online (Sandbox Code Playgroud)
但这并不能解决问题。有谁对这项工作有任何想法或经验吗?我意识到 mailman3 仍然被认为是新的。这就是我玩它的原因。
我已经弄清楚了这一点。事实证明,链接的 StackOverflow 问题中的说法是错误的。确实可以virtual_transport
和transport_maps
一起使用。我的问题是用于确定的 SQL 查询virtual_mailbox_maps
自然只会1
在数据库中定义邮箱时返回。一旦检查失败,该消息就会被拒绝。
-- from: mysql-virtual-mailbox-maps.cf
query = SELECT 1 FROM virtual_users WHERE name = 'name = '%s'
Run Code Online (Sandbox Code Playgroud)
将 mailman3 映射添加到virtual_mailbox_maps
设置中解决了我的问题。这是我的工作配置:
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf hash:/path/to/var/data/postfix_lmtp
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
local_recipient_maps = hash:/path/to/var/data/postfix_lmtp mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
transport_maps = hash:/path/to/var/data/postfix_lmtp
Run Code Online (Sandbox Code Playgroud)
它默认设置virtual_transport
为dovecot,但允许覆盖它,将列表地址映射到邮递员本地传输。transport_maps
归档时间: |
|
查看次数: |
2024 次 |
最近记录: |