我想设置一个家庭邮件服务器来接收传入邮件,但我的 ISP 阻止了端口 25,因此其他邮件客户端(例如 gmail)无法连接到我的家庭邮件服务器,对吗?我的意思是,我可以telnet
通过其他端口(ssh/ftp/www 等)从远程站点连接到我的家庭服务器,但不能通过端口 25(超时)。这意味着我的 ISP 阻止了端口 25,对吗?
如果是这样,有什么办法让我的sendmail
家庭邮件服务器仍然能够接收来信吗?我自己搜索发现很多文章都在谈论这个问题,但最终提供的解决方案是付费的商业服务。我想知道这是否是唯一的选择。
我也发现有人说打开 587 端口就可以了,真的是这样吗?我看到有人打开 587 端口一些奇怪的原因, 或者毫无理由。这真的是正确的做法吗?因为我看见,
从历史上看,在互联网邮件中,MTA 和 MSA 功能都使用端口号 25,但 MSA 的官方端口是 587。[1] MTA 接受来自其他域的本地发往邮件,而 MSA 接受来自本地用户提交的邮件。
根据我的 sendmail.mc:
$ grep Port= sendmail.mc
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dnl
提交端口用于 MSA,用于接受来自本地用户. 这是 smtp 端口,由 MTA 用来接受本地发往的邮件来自其他域,这在接收来信时确实很重要,对吗?该怎么做?
更新感谢@davidgo的回复,这与我读到的一致没有解决办法,但请允许我提出一些反驳意见。
在使用智能主机之前,我从某些电子邮件服务器(如谷歌)收到“连接超时”错误:
$ tail -1 /var/log/mail.log
Jun 15 15:55:52 coral sm-mta[9924]: s5FAo29p007675: to=<[email protected]>, delay=09:05:50, xdelay=00:10:36, mailer=esmtp, pri=2550569, relay=alt4.gmail-smtp-in.l.google.com. [74.125.136.26], dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.
因此我尝试使用 telnet 到端口 25 来看看我们是否能够连接到目标主机......
$ telnet alt4.gmail-smtp-in.l.google.com 25
Trying 74.125.136.27...
Trying 2a00:1450:4013:c01::1a...
telnet: Unable to connect to remote host: Network is unreachable
嗯,我本来想说 Gmail 的 25 端口也被阻止了,但现在我认为是 IPS 而不是 Gmail 阻止了 25 端口。所以,没有解决办法吧?好吧……
假设是其中一个,但仍然需要启用端口 587 的两个方面,一个用于发送,一个用于接收,我应该启用接收部分,对吗?这样我的家庭邮件服务器会成为开放中继吗?我还需要做其他事情吗?例如,这里它说,“例如,当我将 sendmail 配置为监听端口 587 时,它通常仅在用户通过身份验证后才通过该端口接受传入的电子邮件”,无需进一步阐述。这是所有需要的步骤?
谢谢
答案1
如果您的 ISP 确实阻止了端口 25,那么您的电子邮件程序就无法直接接收电子邮件了。也就是说,您可能有一个静态 IP 地址,因此您应该与您的 ISP 讨论这个问题 - 他们完全可以阻止来自您的 IP 的端口 25 上的请求离开他们的网络,同时允许通过端口 25 发往该 IP 的请求。(当然,您的 ISP 可能禁止运行服务器,或者只是对其用户怀有敌意,就像某些 ISP 那样)。
[ 思考 - 在你向 ISP 抱怨之前,你是否检查过你的路由器是否允许转发该端口 - 你的路由器可能设置为允许其他端口,但不允许该端口 ]
您无法在 25 以外的端口上运行(通常可访问的)传入 SMTP 服务器,因为规范不允许这样做 - 这意味着您需要以某种方式获得到端口 25 的连接许可。某种付费服务是获取资源以执行此操作的常用方法 [除非您有朋友没有被阻止的端口,并且您可以设置 VPN 并访问端口 25,或类似的东西]
答案2
如果您使用它从互联网接收邮件,您需要一个电子邮件客户端(POP3 或 IMAP),而不是 SMTP 服务器(用于发送邮件,而不是接收邮件)。
此外,我建议使用 SSH 而不是 telnet,因为 telnet 是通过互联网进行明文(非加密)传输。
答案3
ISP 通常会阻止端口 25,就好像他们错误地配置了开放中继一样,然后该端口将经常被用来发送垃圾邮件。
你能更改接收邮件的端口吗?尝试在非阻塞端口上运行服务,看看是否可以连接
另外,正如提到的那样,尝试给他们打电话并要求解除对端口 25 的阻塞,只要知道上面提到的他们通常阻塞该端口的原因即可。