如何更改postfix与其他服务器之间的通信端口?

如何更改postfix与其他服务器之间的通信端口?

我的邮件服务器(postfix)遇到了这个问题:

我尝试使用 mail 命令发送测试邮件,它运行正常:

mail [email protected]
Subject: bla
bla (CTRL+D) 

但是当我查看 /var/log/mail.log 中的 tail -f 时,发现端口 25 上的连接超时。

connect to gmail-smtp-in.l.google.com[64.233.190.26]:25: Connection timed out

我发现端口 25 在巴西 ISP 中被阻止,所以我的问题是:我可以更改 postfix 尝试与其他服务器通信的端口还是这是服务器通信的默认强制端口?

答案1

十多年来,一些 ISP 和组织一直在阻止端口 25/TCP 以试图控制垃圾邮件中继。

明显的替代方案之一是将您的私有域托管在一​​家国际邮件服务器公司中,该公司通过端口 25 的备用电子邮件端口(例如 Google/Gmail)为您提供服务。

正如 @Stephen 也正确地在我面前指出的那样,另一种选择是在其他地方使用虚拟机。或者与巴西境外的相关机构的一些分支机构/交换服务机构建立合作伙伴关系。

许多商业电子邮件服务为其用户提供额外的端口,并且还有其他商业服务可以以相对较低的费用重定向电子邮件消息。

后一种选择可能比在云上运行虚拟机成本更低,但可能会产生安全隐患。举个例子,SMTP 端口 - 端口 25 阻止重定向服务(我不认识他们,只是一个随机的谷歌例子)

另一种选择是签约商业 VPN 服务,并通过它们发送电子邮件。同样,通过它们传输流量的安全隐患是需要考虑的事情,例如,您的 SPF 可能必须更加宽松或包含它们的网络块。

谷歌也不例外,它有备用端口来发送电子邮件;替代的“官方”端口之一通常是 587/TCP。

这张表是我能想到的最好的表,记录了他们的产品和替代方案。

用于从打印机、扫描仪或应用发送邮件的 Google Apps SMTP 设置

所以:

  • 使用 smtp-relay.gmail.com

    • IP地址必须在谷歌注册;
    • 端口 25、465 或 587 SSL/TLS 可选;
    • 你必须有 Google Apps,对于企业来说它是收费的,对于教育来说它是免费的。
  • smtp.gmail.com

    • 由每个用户使用;
    • 端口 465(需要 SSL)或端口 587(需要 TLS);
    • 任何 Gmail 帐户每天最多可以验证并发送 2000 封电子邮件。

如果使用 Google,最好的选择似乎是拥有 Google Apps/域,并配置 postfix 使用端口 465/TCP 或 587/TCP 作为替代方案,通过 smtp-relay.gmail.com 中继电子邮件。

因此,要为此配置 postfix,您必须添加到您的/etc/postfix/main.cf

relayhost = [smtp-relay.gmail.com]:587

我还记得我必须将电子邮件服务器的 IP 添加到 Google Apps 域管理界面。完全不记得在哪里了,不难找到。

我也不排除与您的 ISP 交谈,看看他们是否:

  • 正在为与您情况相同的人提供中继服务,以在 postfix 中进行配置;
  • 向您出售不受端口 25/STMP 控制的静态 IP 地址(收费);
  • 和/或如果它们具有不受端口 25/STMP 过滤约束的更高级别的服务。

他们的兴趣在于遏制僵尸发送垃圾邮件,而不是阻止您发送电子邮件。

通常,作为标准安全实践,较低层/住宅网络块会被阻止,但是企业层使用的网络块不受该封锁的影响。 (这是第一手资料,我也曾在葡语国家经营过ISP)

答案2

端口 25 是通过 Internet 用于 SMTP 通信的标准端口。如果您想与其他人交谈,则将通过端口 25 进行。

使用您自己网络内部的备用端口;例如,如果您有一台 Amazon 服务器,您可以将其配置为使用端口 2525,并配置您的本地计算机与该端口通信。但与其他任何人(例如 Google,如您的示例中所示)交谈必须在端口 25 上。

您可能会发现您的 ISP 有一个可以使用的中继服务器(可能需要身份验证)。这就是 ISP 试图阻止人们发送垃圾邮件的典型方式。如果您无法在端口 25 上与互联网通信并且必须通过他们的中继,那么他们可以进行速率限制、垃圾邮件过滤器等。

如果您有外部服务器(例如亚马逊),另一种解决方案是在您的计算机之间配置 VPN;这将绕过 ISP 端口 25 限制。

相关内容