Postfix-Mailman“收件人地址被拒绝:本地收件人表中的用户未知”

时间:2014-12-11 19:37:53

标签: ubuntu configuration ubuntu-14.04 postfix-mta mailman

我认为错误是我的postfix配置的问题。我已按照说明here中的步骤设置了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. 验证主机名
  4. postfix在relay_domains
  5. 下找到mydomain.com
  6. postfix将邮件中继到transport_maps
  7. 下列出的传输中
  8. 在这里失败? postmap表发现mailman@mydomain.com与mydomain.com匹配
  9. postmap将邮件定向到mailman:在master.cf中定义的传输
  10. transport mailman:调用postfix-to-mailman.py,mailman处理邮件

2 个答案:

答案 0 :(得分:7)

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

有两种方法可以使用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:

<强> Switch to alias method

取消注释/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

答案 1 :(得分:0)

我使用的是Ubuntu 14.04。经过很多痛苦之后,我按照以下步骤完成了邮件列表工作:

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

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

      抱怨我无权查看该页面。

      1. 接下来,我去了&#39; admin&#39; &#39;名单的网络界面&#39;
      2.   

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

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

        1. 此后,我发送了一封来自kk@gmail.com的支票电子邮件 test@gmail.com(发送给test@gmail.com的邮件将会发送 到了finelists),它显示得很好。

        2. 请使用合适的替代品进行名单,kalidoss.com,kk @ gmail.com,test @ gmail.com

        3. 希望这有助于某人。