我正在构build一个将在不同networking上作为MUA / MTA组合的应用程序。 但是,许多networking与ISP的阻止端口25的SMTP。 因此,我还想打开一个辅助端口,以便一些安装可以通信,如果端口25closures。
我如何select第二个端口? 我知道有些人使用端口26或端口2525 。 select一个不会干扰现有软件的端口的正确方法是什么?
你的问题不是100%清楚的。 你是否希望有传入端口25连接,或者你连接25出站? 我将把答案分为两个,以涵盖两个基地。
如果通过“安装在端口25上通信”,则意味着软件安装尝试使用端口25联系其他服务器,这是一个坏主意。 请勿运送在端口25呼叫的软件。
您的软件可以依赖的唯一出站端口用于“打电话到家”或与其他服务器联系的是端口80.不仅端口,而且协议必须是HTTP。 一些防火墙允许端口80,但是他们也检查协议,并且如果它不是HTTP,则阻止它。 你也可以依靠443,HTTPS。 不过,如果没有端口80连接,我会提供一个替代的安装/注册工作stream程。
ISP的块传出25,因为它被垃圾邮件发送者用来从用户线直接联系邮件服务器并发送垃圾邮件。
这就是说,当然你可以发送发送邮件的软件,并使用端口25.但是,该邮件应该去到由用户configuration的SMTP服务器。 (很多时候,他们的ISP提供的中继可能需要authentication。)
一个将作为一个域的邮件服务器的应用程序通常不能被打开传入端口25的用户部署。
这些人将需要一个解决方法,从更改他们的订阅,更改到另一个ISP,或使用某些其他networking中的一些机器作为端口转发代理,使用一些打开的端口将端口25连接转发到真实服务器。
备用端口的select最好留给用户来决定。
没有通用端口号保证是开放的,不pipeISP。
但更大的问题是,所有的邮件软件都会连接到端口25.邮件交换(MX)DNSlogging不包括端口号; 它parsing为一个主机。
MX主机预计将在端口25上收听。
如果您只是代表最终用户(在您的应用程序中发送电子邮件)发送电子邮件,则使用通过身份validation的SMTP端口587。
如果远程MTA启用了SSL / TLS并侦听该端口,但不指望它,则可以通过SMTPS端口465将邮件发送到某些服务器。
否则,build议用户需要一个企业级的ISP。
只要你build立一个封闭的私人电子邮件系统,并且MTA都知道使用该端口进行通信,只要你保持一致,你就可以select任何你想要的端口。 如果您需要使用此系统与外界沟通,至less您的MTA中的一个必须使用目标端口25进行中继,或者使用可信的中继来到世界其他地方。
只要你在高端口范围内select一些东西,而且你可以记得,这没问题。
对于传入的25,你可以使用一个很多smtp重新路由服务,因为许多ISP阻止端口25.请参阅此帖: http : //thenubbyadmin.com/2010/06/14/list-of-inbound-smtp-redirection-服务 – 一些免费/ 。
我的DNSMadeEasy插件:Comcast阻止了我的端口25突然,杀死我的邮件服务器。 在重新select路由选项之后,我select了DNS Made Easy。 (EasyDNS在加拿大,DNSExit提高了价格,DYN可笑地很贵)。 DNS Made Easy让我在10分钟内备份完毕,这就是手动MX Record条目。 他们也非常及时地回应了一个愚蠢的问题,因为我匆忙,并没有打到蓝色的“我”信息button。 他们有一个基本上无限的1 GB的缓冲区,现在我使用这个重新路由服务,我的邮件服务器更强大的停机时间。
对于传出端口25,无论如何你都需要指定一个smtp网关,特别是如果IP被列在spamhaus的PBL列表中 – 即使你的邮件发送出去了,它也几乎可以被大多数远程邮件服务器列入黑名单。
我同意迈克尔汉普顿,但是既然你的评论也谈到了MTA,
– 让您的MUA程序允许最终客户端/用户进行configuration,以便将其正确的出站MTA与其ISP相匹配。
然后MUA将发送电子邮件到他们的住宅ISP,因为它将允许它来自它自己的networking。
编辑:当然,你说你的应用程序是一个组合MUA / MTA。 这对MTAfunction来说是行不通的,除非你有“数以千计”的部署应用程序,然后把所有的电子邮件发送到另一个集中的MTA(通过任何端口),然后MTA将电子邮件传出到25端口以外的任何地方。