小编The*_*ist的帖子

Helo 命令被拒绝:找不到主机 - 设置 postfix 以接受通过我的公共服务器从我的家庭服务器发送邮件

我想从我的家庭服务器接收系统电子邮件。所以我试图通过我的公共服务器配置 postfix 来做到这一点。我的公共服务器有一个固定的 IP,而我的家庭服务器在一个私有网络中,由于我的路由器的主机名被包含在主机名中,导致一个完整的主机名“homeserver.blablabla_crappyrouter”。

我的家庭服务器通过具有固定 IP 的 OpenVPN 隧道连接到我的公共服务器,其中我的家庭服务器是客户端。从我的家庭服务器到我的公共服务器(反之亦然),有一个固定的 IP,因此它们可以通过固定地址毫无问题地相互访问。这是一条隧道,可以让我从任何地方访问我的家庭服务器,而不会出现安全问题。

我的公共服务器上的 postfix 配置包括以下内容:

smtpd_recipient_restrictions = reject_invalid_hostname,
        reject_unknown_recipient_domain,
        reject_unauth_destination,
        reject_rbl_client sbl.spamhaus.org,
        permit

smtpd_helo_restrictions = reject_invalid_helo_hostname,
        reject_non_fqdn_helo_hostname,
        reject_unknown_helo_hostname

smtpd_client_restrictions = reject_rbl_client dnsbl.sorbs.net
Run Code Online (Sandbox Code Playgroud)

在我的家庭服务器上,我添加了 OpenVPN 的公共服务器的 IP 使用

relayhost = [<public server IP through OpenVPN>]
Run Code Online (Sandbox Code Playgroud)

现在这个配置不发送电子邮件并给我错误:

Helo 命令被拒绝:找不到主机

我对此进行了研究,发现 postfix 会搜索主机名,但显然由于主机名混乱而找不到它。

我的问题:如何告诉我的公共服务器的 postfix 盲目地允许来自我的家庭服务器的所有内容?

谢谢。

更新:

我确实在 main.cf 中设置了选项

smtpd_helo_required = no
Run Code Online (Sandbox Code Playgroud)

但这没有帮助。以下是我发送测试电子邮件后的 /var/log/mail.log 条目:

Sep  2 15:53:53 HomeServer sm-mta[6677]: t82Drr6w006677: from=sys@mydomain.com, size=69, class=0, nrcpts=1, msgid=<201509021353.t82Drr6w006677@HomeServer.blablabla_crappyRouter>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Sep  2 …
Run Code Online (Sandbox Code Playgroud)

email email-server postfix openvpn tunnel

9
推荐指数
2
解决办法
4万
查看次数

使用 SNI 证书替代 postfix + Dovecot 兼容性

我们知道 postfix 不支持 SNI(服务器名称指示),这意味着如果您定义证书,它将用于您在该服务器上拥有的所有域名,这对不支持的人可能不利愿意花大价钱购买精美的证书。Postfix 在他们的网站上声明他们没有实施 SNI 的计划。

我的邮件服务器配置了 Dovecot 和 Postfix。我想用支持 SNI 并与 Dovecot 兼容的东西替换后缀(或至少接受来自 Dovecot 的相同用户名/密码数据库方案)。

您能否告诉我存在哪些满足这些条件的 postfix 替代方案(最好是开源的)。

postfix dovecot

8
推荐指数
1
解决办法
4488
查看次数

不接受 Dovecot SSL 证书

我有从StartSSL颁发的证书,它是一个可信的证书权威机构,我的网站使用它的证书没有问题,所有浏览器也没有关于任何信任问题的投诉。

现在我想在 Dovecot 中进行相同的编程,以便通过认证的 SSL 接收我的电子邮件。所以我使用 IMAP 来获取我的邮件,比如通过地址 mail.myweb.com。我去了 StartSSL,并为该子域颁发了一个证书(这是我通过 Apache 服务器获取任何我想要使用 SSL 的子域时总是这样做的)。

现在我拿到了那个证书,并将它定义为我想在 Dovecot 上用于该域名(使用 SNI)的证书,方法是将以下内容添加到 dovecot.conf

local_name mail.myweb.com {
  ssl_cert = </path/to/certificate/ssl.crt
  ssl_key = </path/to/privatekey/priv.key
}
Run Code Online (Sandbox Code Playgroud)

虽然这个过程在 Apache 服务器上运行得非常好,而且我的浏览器对绿色挂锁很满意,我的证书没有签名问题,但雷鸟坚持我确认这个证书是一个例外。

我通过查看证书的详细信息确认了 Thunderbird 收到的证书是正确的。

原因可能是什么?雷鸟只是偏执,我必须购买证书吗?

如果您需要任何其他信息,请告诉我。

谢谢你。

ssl dovecot thunderbird ssl-certificate certificate-authority

5
推荐指数
1
解决办法
3208
查看次数