AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1113191
Accepted
QF0
QF0
Asked: 2022-10-17 05:20:19 +0800 CST2022-10-17 05:20:19 +0800 CST 2022-10-17 05:20:19 +0800 CST

如何说服远程 Postfix 允许从我的 ISP 分配的 IP 地址进行中继?

  • 772

场景:我正在本地网络上测试 SMTP 服务器,我现在需要检查它是否可以将电子邮件发送到网络。当然,问题是我通过我的 ISP 出去,而我的 ISP 分配的固定 IP 地址不在 DNS 上(我当然可以把它放在 DNS 上,但我无法设置反向查找,所以它不会有帮助)。

为了解决这个问题,我在远程服务器上设置了 Postfix,并且我试图通过该服务器将我的传出消息中继到该服务器上的本地收件人。这看起来应该很简单,但我显然遗漏了一些东西。这是一个新的 Postfix 3.6.4 设置,main.cf包含:

mynetworks = 127.0.0.0/8, 93.184.216.34/32
smtpd_helo_restrictions = permit_mynetworks, ...
smtpd_client_restrictions = permit_mynetworks, ...

93.184.216.34是我的 ISP 分配的地址,我的本地网络是dummy-domain.com. 当我尝试向服务器发送电子邮件时出现故障,服务器日志文件显示:

Oct 16 13:24:42 titan postfix/smtpd[19103]: connect from my-isp[93.184.216.34]
Oct 16 13:24:42 titan postfix/smtpd[19103]: NOQUEUE: reject: RCPT from my-isp[93.184.216.34]: 450 4.1.8 <[email protected]>: Sender address rejected: Domain not found; from=<[email protected]> to=<a-local-recipient-address> proto=ESMTP helo=<dummy-domain.com>
Oct 16 13:24:42 titan postfix/smtpd[19103]: lost connection after RCPT from my-isp[93.184.216.34]

postconf确认mynetworks,但它也这样说:

compatibility_level = 0
smtpd_relay_restrictions = ${{$compatibility_level} <level {1} ? {} : {permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination}}

我的理解可能是错误的,说默认smtpd_relay_restrictions不包括,与文档相反。所以我明确地将其设置为:permit_mynetworksmain.cf

smtpd_relay_restrictions = permit_mynetworks

重新启动,postconf现在准确地报告上面的行。但是,它仍然不起作用,服务器日志文件仍然显示相同的消息。有任何想法吗?以及如何postconf向我展示当前的真实设置,而不必担心兼容性级别?谢谢。

编辑

根据 anx 的回答,事实证明smtpd_client_restrictions = permit_mynetworks(“当客户端 IP 地址与 $mynetworks 中列出的任何网络或网络地址匹配时允许请求”)是不够的。你还需要

smtpd_sender_restrictions = permit_mynetworks

与permit_mynetworks之前reject_unknown_sender_domain。这一切都可以正常工作,无需对 DNS 进行任何更改/etc/hosts,也无需向 DNS 添加任何内容。

postfix
  • 1 1 个回答
  • 59 Views

1 个回答

  • Voted
  1. Best Answer
    anx
    2022-10-17T05:31:54+08:002022-10-17T05:31:54+08:00

    发件人地址被拒绝:未找到域

    这与您的邮件服务器发送 IP 或其缺少的反向关联无关。您使用的发件人地址带有无法找到的域。reject_unknown_sender_domain在您的 smtpd_*_restrictions 中查找类似的语句,并根据您的需要添加一些可以解除此限制的内容。您可能smtpd_sender_restrictions需要对其进行编辑才能继续处理此消息。或者只是将地址配置为实际上可以在 DNS 中找到的发件人(同样,这与发送消息的服务器的主机名是否可以在 DNS 中找到无关)。

    • 2

相关问题

  • Postfix 在特定端口上接受邮件

  • 让 Postfix 以两种方式处理垃圾邮件

  • Postfix 或 exim:自动/程序化和转发电子邮件设置

  • 后缀电子邮件地址

  • 什么是最好的开源电子邮件解决方案包

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve