1

我认为错误是我的后缀配置的问题。我已按照此处说明中的步骤设置 apache/postfix/mailman。

真实域替换为 mydomain.com 我创建了一个名为 mailman 的默认邮件列表。当我向 mailman@mydomain.com 发送电子邮件时,我在 mail.log 中收到错误“收件人地址被拒绝:本地收件人表中的用户未知”。

550 5.1.1 <mailman@mydomain.com>: Recipient address rejected: User unknown in local recipient table; from=<-----@gmail.com> to=<mailman@mydomain.com> proto=ESMTP helo=<mail-wi0-f174.google.com>

摘自我的 postfix/main.cf:

myhostname = mydomain.com
mydestination = mydomain.com, localhost
inet_protocols = ipv4
relay_domains = mydomain.com
transport_maps = hash:/etc/postfix/transport
mailman_destination_recipient_limit = 1

摘自 /etc/postfix/transport

mydomain.com mailman:

摘自 postfix/master.cf

mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

如果我正确理解它应该如何工作......

  1. 邮件进入 mydomain.com
  2. postfix 根据 $myhostname 验证主机名
  3. postfix 在 relay_domains 下找到 mydomain.com
  4. postfix 将邮件中继到 transport_maps 下列出的传输
  5. 这里失败了?postmap 表发现 mailman@mydomain.com 与 mydomain.com 匹配
  6. postmap 将邮件定向到邮递员:在 master.cf 中定义的传输
  7. 运输邮递员:调用 postfix-to-mailman.py,邮递员处理邮件
4

2 回答 2

10

我不知道这是否有资格作为答案,但是在阅读了更多内容之后,我得出了这个结论,希望它对其他人有所帮助。

有两种方法可以使用 postfix 配置 mailman。1. 使用传输图,就像我在上面尝试的那样 2. 别名映射

根据我的阅读,使用“postfix-to-mailman.py”的方法 1 是非官方的,并且没有得到很好的支持。所以我尝试尝试方法2,它成功了!

步骤: 删除传输方法

从 postfix/main.cf 中删除行:

relay_domains = mydomain.com
transport_maps = hash:/etc/postfix/transport
mailman_destination_recipient_limit = 1

从 master.cf 中删除行:

mailman   unix  -       n       n       -       -       pipe
   flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
   ${nexthop} ${user}

从 /etc/postfix/transport 中删除所有行:

lists.domain.com   mailman:

切换到别名方法

在 /usr/lib/mailman/Mailman/mm_cfg.py 中取消注释行

MTA = 'Postfix'

将别名文件复制到 mailman 目录并运行 genaliases 以创建别名 db

sudo cp /etc/aliases /var/lib/mailman/data/aliases
sudo /usr/lib/mailman/bin/genaliases
sudo chomod g+w /var/lib/mailman/data/aliases.db

更新 postfix/main.cf 中的 alias_maps 以指向新的别名文件

alias_maps = hash:/etc/aliases,hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases

重新加载并重新启动

sudo /etc/init.d/postfix reload
sudo service postfix restart
于 2014-12-12T15:29:49.113 回答
0

我正在使用 Ubuntu 14.04。在经历了很多痛苦之后,我通过以下步骤获得了邮件列表:

  1. 在 /etc/apache2/conf-enabled/mailman.conf 中,我更改如下。(对于 apache2 2.4 及以上版本)
<Directory /var/lib/mailman/archives/public/>
Options FollowSymlinks
AllowOverride None
#    Order allow,deny
#    Allow from all
Require all granted
</Directory>
  1. 即使那样,没有邮件发送到列表,网页

http://finelists.kalidoss.com/pipermail/finelists/

抱怨我没有查看该页面的权限。

  1. 接下来,我进入了“finelists”的“admin”网页界面

http://finelists.kalidoss.com/cgi-bin/mailman/admin/finelists

并将电子邮件 ID(我可能从中收到邮件)添加为受信任的 ID。

  1. 此后,我从kk@gmail.comto 发送了一封支票电子邮件test@gmail.com(发往的邮件test@gmail.com将被发送到finelists),并且显示正常。

  2. 请使用合适的替代品来代替 Finelists、kalidoss.com、kk@gmail.com、test@gmail.com

希望这可以帮助某人。

于 2016-03-26T09:38:15.403 回答