Postfix 拒绝中继来自本地客户端的邮件

Postfix 拒绝中继来自本地客户端的邮件

我正在尝试获取一个 python 脚本来发送邮件(使用smtplib.SMTP),但 postfix 拒绝中继该消息。我没有使用 Ubuntu 10.10 Virtualmin 服务器作为邮件服务器(我碰巧使用 google apps 作为邮件服务器),但我希望脚本能够发送邮件。以下是日志,其中的地址已替换为通用地址:

Apr 11 00:50:27 unimatrix-01 postfix/smtpd[25212]: connect from localhost[127.0.0.1]
Apr 11 00:50:27 unimatrix-01 postfix/smtpd[25212]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<unimatrix-01.example.com>
Apr 11 00:50:27 unimatrix-01 postfix/smtpd[25212]: lost connection after RSET from localhost[127.0.0.1]
Apr 11 00:50:27 unimatrix-01 postfix/smtpd[25212]: disconnect from localhost[127.0.0.1]

我已经尝试过,但没有成功,可以通过运行 # dpkg-reconfigure postfix 来解决这个问题,如下所示Ubuntu 文档。 我怎样才能解决这个问题?

提前致谢。

更新:有趣的是,使用 PHP 的应用程序可以正常发送邮件。因此,我怀疑这与 postfix 要求本地身份验证有关。由于我是此 VP 的唯一用户,因此没有必要这样做。我希望这有助于排除故障。

答案1

检查您是否允许本地网络在无需身份验证的情况下中继电子邮件。

首先,以下命令应包括允许我的网络

sudo postconf smtpd_recipient_restrictions

然后检查127.0.0.1位于$我的网络。 做就是了,

sudo postconf mynetworks

并检查是否127.0.0.1有没有。

答案2

我猜您没有在任何地方设置 mydomain,因此没有告诉 postfix 它可以在哪里传递邮件。

您基本上需要设置 mydomain = gmail.com,然后将 gmail.com 或 $mydomain 添加到 mydestination。

确保重新加载/重新启动 postfix

答案3

我从 squirrelmail 网络界面发送电子邮件时遇到问题。它说:

relay access denied

我通过从我的中删除以下条目来修复它/etc/hosts

::1     localhost ip6-localhost ip6-loopback

相关内容