为什么我无法让 Postfix 向 Dovecot 发送邮件?

为什么我无法让 Postfix 向 Dovecot 发送邮件?

CF 大师

主配置文件

我在配置 Postfix 以在 vpn.vietfeir.com 上接收电子邮件时遇到了麻烦。上面的链接指向 master.cf 和 main.cf 配置文件。

我可以发送邮件

端口 587 已打开,并通过 telnet 使用 tcpdump 确认,但是当尝试从 Gmail 发送邮件时,我看不到任何流量。

答案1

端口 587 已打开,并通过 telnet 使用 tcpdump 确认,但是当尝试从 Gmail 发送邮件时,我看不到任何流量。

域之间的邮件交换(通过 MX 记录)始终使用端口二十五。您无法更改这一点。您必须打开端口 25 以进行入站连接,以便 Gmail 能够到达您的 Postfix(它是 master.cf 中的“smtp”服务条目),同样,您必须打开端口 25 以进行出站连接,以便向 @gmail.com 地址发送任何消息。

端口 465 或 587 仅用于初始“消息提交”,即从各种邮件应用程序(如 Thunderbird 或 Roundcube)发送到您的自己的服务器。(例如,如果您尝试使用 Gmail 的“以...身份发送邮件”功能发送邮件您的域名,这将使用端口 465 或 587。)

请注意,许多服务器托管提供商会阻止新客户使用端口 25(甚至是入站端口),以减少垃圾邮件,而且您通常需要开具一张票据才能解除限制。(搜索“aws port 25”)。

答案2

您没有配置任何“传输”设置(即没有设置 local_transport 或 virtual_transport 选项)

我只使用 virtual_transport 在多域环境中设置了 postfix,但我认为 local_transport 类似。您需要设置 local_transport 或 virtual_transport 来处理 main.cf 中的最终交付

您需要在 master.cf 中设置相应的条目来进行交付。我相信这通常与您用于 POP/IMAP 的任何内容相关 - 在我的情况下是 Dovecot - 尽管没有什么可以阻止您直接写入文件。

尽管价值不大,但 Postfix 配置文件的相关部分如下:

主配置文件

virtual_transport=finaldelivery

主配置文件

finaldelivery
        unix  -       n       n       -       -       pipe flags=DRhu
     flags=R user=mailuser argv=/usr/lib/dovecot/deliver -c  /etc/dovecot/dovecot.conf -d ${recipient} -f ${sender}

相关内容