Reach

Grow

Manage

Automate

Reach

Grow

Manage

Automate

我应该使用哪个SMTP端口?

电子邮件

1 min read

我应该使用哪个SMTP端口?

电子邮件

1 min read

我应该使用哪个SMTP端口?

配置应用程序或邮件系统以发送(或转发)电子邮件的人们常常有一个共同的问题:“我应该使用哪个SMTP端口?”

我应该使用哪个SMTP端口:端口25, 465, 587, 还是2525?

配置应用程序或邮件系统以发送(或中继)电子邮件的人通常有一个常见的问题:“我应该使用哪个SMTP端口?” 你可能会看到信息指示你使用25、465、587或2525端口用于SMTP中继。那么,这些端口中哪个应该是你的标准SMTP端口?以下是你需要知道的内容和原因。

什么是SMTP端口?

SMTP(简单邮件传输协议)是邮件服务器使用的基本标准,通过互联网相互发送电子邮件。SMTP 也用于 Apple Mail 或 Outlook 等应用程序将电子邮件上传到邮件服务器,然后由它们中继到其他邮件服务器。(另一方面,邮件应用程序通常依赖于其他标准,如 IMAP 或 POP3,从服务器检索电子邮件。)

像网站等其他互联网服务一样,SMTP 电子邮件依赖于域名和互联网地址来确定发送消息的位置。我们所有人今天都熟悉这些地址的文本版本,如 www.sparkpost.com。我们大多数人知道文本地址代表一个数字 IP 地址,比如 107.21.246.67。但并不是很多人知道这些网络地址还包括特定的“端口号”。“SMTP 端口”是指用于传输电子邮件的互联网地址的特定部分。

Web 和 HTTP 使用端口号 80。对于电子邮件和 SMTP,该端口号是……嗯,这取决于。

Diagram illustrating the process of email transmission and reception, featuring email client icons, servers, and arrows showing the flow from email submission through ports.

SMTP(简单邮件传输协议)是邮件服务器使用的基本标准,通过互联网相互发送电子邮件。SMTP 也用于 Apple Mail 或 Outlook 等应用程序将电子邮件上传到邮件服务器,然后由它们中继到其他邮件服务器。(另一方面,邮件应用程序通常依赖于其他标准,如 IMAP 或 POP3,从服务器检索电子邮件。)

像网站等其他互联网服务一样,SMTP 电子邮件依赖于域名和互联网地址来确定发送消息的位置。我们所有人今天都熟悉这些地址的文本版本,如 www.sparkpost.com。我们大多数人知道文本地址代表一个数字 IP 地址,比如 107.21.246.67。但并不是很多人知道这些网络地址还包括特定的“端口号”。“SMTP 端口”是指用于传输电子邮件的互联网地址的特定部分。

Web 和 HTTP 使用端口号 80。对于电子邮件和 SMTP,该端口号是……嗯,这取决于。

Diagram illustrating the process of email transmission and reception, featuring email client icons, servers, and arrows showing the flow from email submission through ports.

SMTP(简单邮件传输协议)是邮件服务器使用的基本标准,通过互联网相互发送电子邮件。SMTP 也用于 Apple Mail 或 Outlook 等应用程序将电子邮件上传到邮件服务器,然后由它们中继到其他邮件服务器。(另一方面,邮件应用程序通常依赖于其他标准,如 IMAP 或 POP3,从服务器检索电子邮件。)

像网站等其他互联网服务一样,SMTP 电子邮件依赖于域名和互联网地址来确定发送消息的位置。我们所有人今天都熟悉这些地址的文本版本,如 www.sparkpost.com。我们大多数人知道文本地址代表一个数字 IP 地址,比如 107.21.246.67。但并不是很多人知道这些网络地址还包括特定的“端口号”。“SMTP 端口”是指用于传输电子邮件的互联网地址的特定部分。

Web 和 HTTP 使用端口号 80。对于电子邮件和 SMTP,该端口号是……嗯,这取决于。

Diagram illustrating the process of email transmission and reception, featuring email client icons, servers, and arrows showing the flow from email submission through ports.

SMTP 如何与 SSL 和 TLS 不同?

两种技术都促进电子邮件的发送。虽然SMTP可能是该过程的肌肉和骨骼,但安全套接字层(SSL)则构成了保护电子邮件安全的外层。SSL可以与任何可用的端口一起工作。

SSL曾是常见电子邮件端口的标准安全协议。在采用其改进的后继者传输层安全(TLS)后,电子通信变得更加安全。

虽然这两种协议都在发送和接收计算机之间创建了一个私有通道来保护传输,但 TLS提供比其前身更多的警报,并且能够执行更多的哈希函数以增强加密通信。如今,许多电子邮件使用最新的STARTTLS协议,该协议结合了SSL或TLS协议以实现最大安全性。

SMTP协议本身不如可能的安全。将传输方法与其中一种安全协议结合使用能提供更多的加密保护。对于发送电子邮件,SSL和其他协议增强了SMTP传输。

如何找出你的SMTP端口是什么?

如果您订阅了托管电子邮件中继服务,可以从电子邮件服务的支持页面获取SMTP服务器主机名和端口号。

如果您运行自己的SMTP服务器,您可以从SMTP服务器配置中找到配置的SMTP端口号和地址。在PowerMTA中,您可以从配置文件中的“smtp-listener”指令中找到该信息。配置文件可以在Linux服务器的/etc/pmta/config和Windows Server的C:\pmta\config.dat中找到。

smtp-listener 10.0.1.22:587 # 在端口587和IP 10.0.1.22上监听

Which port 应该使用用于 SMTP?

端口25、465、587或2525在某些时候都被视为标准SMTP端口,但实际上,只有587或2525应该被视为现代使用的端口。

如果您正在配置系统以使用SparkPost作为SMTP中继,您应该使用587作为您的标准SMTP端口,2525作为备用端口,以防587不可用。

接下来我将解释为什么我们今天常用的发送邮件的不同端口。

A table comparing various SMTP ports, including port numbers 25, 465, 587, and 2525, with brief descriptions and guidance on usage for each.

端口 25:原始标准 SMTP 端口

端口25是原始标准电子邮件SMTP端口,也是历史最悠久的,自1982年首次登场以来。当前,互联网号码分配局 (IANA),负责维护互联网地址方案的组织,仍然将端口25视为标准默认SMTP端口。SMTP在IETF请求注释 (RFC) 821中被指定为使用端口25。但实际上,它并不像看上去那么简单。

虽然端口25继续用于服务器间的SMTP中继,但大多数现代SMTP客户端不应配置为使用此端口。由于它被不良用途频繁使用,所以住宅ISP和商业云托管提供商通常会阻止端口25,因为它作为垃圾邮件发送大量未经请求通信的首选端口而得名声不佳。

为什么端口 25 通常被阻塞?你如何检查它是否被阻塞?

许多网络阻止了端口25,以控制通过受感染的计算机或服务器中继的垃圾邮件数量。除非您专门管理邮件服务器,否则不应在您的计算机或服务器上有此端口的流量。

要检查端口25是否被ISP阻止:

  1. 如果您使用的是Windows,请打开命令提示符。如果您使用的是Mac,请打开终端。而如果您使用的是Linux,请打开终端模拟器。

  2. 输入以下命令:telnet examplemailserver.com 25

如果端口25未被阻止,您应收到如下消息:

user@localhost:~# telnet gmail-smtp-in.l.google.com 25 Trying 1.2.3.4... Connected to gmail-smtp-in.l.google.com. Escape character is '^]'. 220 mx.google.com ESMTP 123si3448417qkd.359 - gsmtp

如果您收到类似于以下的消息,端口25可能被阻止:

telnet: 连接到地址XX.XX.XX.XX: 连接被拒绝 telnet: 无法连接到远程主机

你什么时候会使用端口25?

端口25是互联网电子邮件中继的默认端口。但是,您可以指定任何端口号(前提是它在自定义端口号的可接受范围内)用于提交电子邮件到您的SMTP服务器。

有一些特殊情况,您必须在SMTP服务器上使用端口25。其中一个情况是接收异步反弹。这种类型的反弹发生在事后。这意味着接收域接受来自您的SMTP服务器的消息,但稍后将该消息退回。这些异步反弹会发送到原始消息的返回路径(MAIL FROM)地址。接收域将尝试通过返回路径地址的MX服务器并使用端口25(因为端口25是互联网电子邮件中继的默认端口)发送这些反弹。另一个例子是接收反馈循环(FBL)。

您可以通过配置“smtp-listener”指令在PowerMTA服务器上启用端口25以接收消息

smtp-listener 10.0.1.22:25    # 监听端口25和IP 10.0.1.22

端口 465:已弃用且已过时的 SMTP 端口

端口465不再是SMTP的公认标准。然而,仍有一些遗留系统使用端口465用于SMTP,并且在互联网上的一些帮助页面仍推荐将端口465作为设置建议。 该端口在1990年代末期失去了冗余功能,但仍依赖被动的隐式SSL方法来建立安全传输。 我们的建议?除非您的应用程序绝对需要它,否则不要使用。

IANA最初将端口465分配给称为SMTPS的加密版本SMTP。最初建议使用安全套接字层(SSL)发送电子邮件。然而,由于IANA已将该端口重新分配用于其他用途,因此不应再用于SMTP。这就是为什么SparkPost不接受在端口465上的连接。

端口 587:标准安全 SMTP 端口

现代电子邮件服务器使用端口587来安全地提交电子邮件进行发送。例如,如果您使用像Outlook或Apple Mail这样的电子邮件客户端软件,它很可能被配置为使用此端口发送您的消息。然而,这不仅仅是个人电子邮件客户端软件。传递消息到像SparkPost这样的电子邮件传递服务的系统也应该配置为使用此端口。

所有SparkPost客户都应该默认使用端口587,除非您的上游网络或托管服务提供商明确阻止您。使用端口587,再加上TLS加密,是确保电子邮件安全可靠提交给SparkPost(或几乎任何其他提供商)的最佳方式。

端口 2525:一个常见的备用 SMTP 端口

端口2525不是一个官方的SMTP端口,也没有得到IETF或IANA的批准。然而,SparkPost和许多其他电子邮件服务提供商支持使用端口2525作为端口587的替代方案,以防上述端口被阻止。(其中一个显著的例子是Google Compute Engine上托管的服务需要这样做。)如果您尝试过端口587但遇到连接问题,请尝试端口2525。就像端口587一样,大多数在监听端口2525的实现也支持TLS加密。

SMTP 端口是否重要?

除了连接问题之外,使用错误的端口会影响可达性。当电子邮件通信在发件人和接收者之间传递时,才能有效,而正确的端口确保成功送达。

对于大多数用户,电子邮件提供商会为您配置端口,因此您无需选择。但对于其他用户而言,重要的是要了解不同的端口分配了不同的功能,这些功能主要分为提交和中继。

提交和中继

“Submission” 是指您将新创建的电子通信交给您的电子邮件服务提供商的发件箱的操作。如果您和您的提供商使用不同的端口,此过程将在此停止——您的电子邮件将不会进一步传输。当在同一端口时,您的邮件服务器接受传出的通信并与另一端的计算机握手。当一切安全且一致时,传输发生。这个过程被称为“relaying”。

什么是SMTP服务器?

SMTP 服务器是一台支持您电子邮件客户端在发送、接收和/或转发外发邮件时所使用的协议的计算机。作为该过程的一部分,SMTP 服务器验证发件人是否被允许通过 SMTP 发送,如果发件人被允许发送且消息被认为无法投递,SMTP 服务器将把它返回到 MAIL FROM 地址。PowerMTA 是领先的 SMTP 服务器之一,因为它允许发件人采用最新的身份认证规范发送大量电子邮件,并遵守新的身份认证政策。

如何设置您的SMTP服务器

对于设置 SMTP 服务器,有两种选择。您可以订阅托管电子邮件中继服务。SparkPost 是领先的电子邮件发送和分析服务提供商。或者,您可以设置“本地”SMTP 服务器,以便进行更细粒度的控制。一个例子是 PowerMTA。

要搭建 PowerMTA 服务器,请联系 support@port25.com 以获取安装包、许可证和安装说明。所有 PowerMTA 配置都在配置文件中完成,该文件位于 Linux 服务器的 /etc/pmta/config 和 Windows 服务器的 C:\pmta\config.dat 中。

对于 SMTP 服务器的基本配置,需要考虑一些事项和步骤。

  1. 您希望 SMTP 服务器使用哪个 IP 地址和端口号接收电子邮件?端口 25 是电子邮件中继的默认端口。在 PowerMTA 中,您可以通过编辑配置文件中的 “smtp-listener” 指令来更改此默认端口号。smtp-listener 0/0:25 # 监听所有本地 IP 的端口 25。您还可以指定 IP 地址的 CIDR 范围

    smtp-listener 10.0.1.22:25 # 监听端口 25 和 IP 10.0.1.22

  2. 您必须允许从电子邮件客户端到 SMTP 服务器的消息中继。您的 SMTP 服务器绝不能是开放式中继。这意味着您必须以某种方式选择性地允许中继。在 PowerMTA 中,有几种方法可以做到这一点。您可以使用用户名和密码进行身份验证。PowerMTA 支持通过 LOGIN、PLAIN 或 CRAM-MD5 机制进行入站连接的认证。这在配置文件的 smtp-user 和 source 段中配置。对于用户 “foo” 和密码 “barbaz”<smtp-user foo> password barbaz authentication-method password #certificate (TLS) 或 system(linux user) 是其他选项 </smtp-user> 然后在 source 段要求认证 <source 0/0> require-auth true </source>

    您还可以选择性地允许从特定 IP 地址或 CIDR 范围中继。这将是您的电子邮件客户端的 IP 地址。

    <source 10.0.5.20> always-allow-relaying yes # 允许从 10.0.5.20 进行发送 </source>

    您还可以为 PowerMTA 接受电子邮件的收件人域名/地址(或模式)设置。

    # 允许中继到某个域的邮件 relay-domain some.domain relay-address bounce@bounce.yourdomain.com relay-address /@foo(bar)?\.com$/ # 正则表达式模式

  3. 另一个考虑因素是你是否希望将电子邮件从邮件客户端安全地中继到SMTP服务器(入站TLS)?如果您的答案是肯定的,那么您必须为入站连接启用 STARTTLS 并配置 TLS 证书。在 PowerMTA 中,TLS 从 TLSv1 到 TLSv1.3 都得到支持。smtp-server-tls-certificate /etc/pmta/yourcert.pem # 启用入站连接上的 TLS <source 0/0> allow-starttls true require-starttls-before-auth true # 确保身份信息仅通过 tls 发送 </source>

  4. 您是否希望 SMTP 服务器安全地将电子邮件传递到远程服务器(出站 TLS)?在 PowerMTA 中,您可以选择在远程服务器支持 TLS 的情况下使用 TLS,或者强制 TLS,并在远程服务器不支持时断开连接。<domain *> # (*) 是所有收件人域的通配符 use-starttls true # 如果可用则使用 TLS require-starttls true # 强制 TLS </domain>

  5. 设置您的 SMTP 服务器发起出站 SMTP 连接的 IP 地址和主机名。在 PowerMTA 中,这是通过 smtp-source-host 指令设置的。smtp-source-host 192.168.0.10 mail10.yourserver.com # 您也可以指定 CIDR 范围

  6. 最后,PowerMTA 的一个非常独特的功能是可以通过构建多宿主主机来分离您的邮件流。PowerMTA 中的 VirtualMTA 技术允许用户为每个邮件流定义和控制源 IP 地址、主机名和消息传递参数。这允许在仅运行一个 PowerMTA 实例的同时,为不同的市场活动、客户或部门创建独立和特定的配置。

<virtual-mta mta1> smtp-source-host 1.2.3.4 mta1.yourserver.com <domain *> use-starttls true require-starttls true retry-after 10m </domain> </virtual-mta> <virtual-mta mta2> smtp-source-host 2.3.4.5 mta2.yourserver.com <domain *> use-starttls false require-starttls false retry-after 45m </domain> </virtual-mta>

完成基本设置后,您可以将消息提交到配置的 SMTP 服务器主机名/IP 和端口号(上述示例中的 10.0.1.22:25),并根据您如何允许电子邮件提交,用已配置的用户名(foo)和密码(barbaz)进行认证。

总之,SMTP 端口 587 是连接 SparkPost 和其他电子邮件发送服务的最佳选择。

希望这些信息能帮助您多了解一些应该使用哪个 SMTP 端口!

了解更多

想了解更多关于使用SMTP的信息吗?以下是配置SparkPost进行SMTP中继和电子邮件发送的说明,SMTP和API消息传输之间的区别,以及排除与SparkPost的SMTP连接故障的方法。您在SparkPost的专业团队也随时可以提供技术支持。

让我们为您联系Bird专家。
在30分钟内见证Bird的全部威力。

通过提交,您同意 Bird 可能会就我们的产品和服务与您联系。

您可以随时取消订阅。查看Bird的隐私声明以获取有关数据处理的详细信息。

Newsletter

通过每周更新到您的收件箱,随时了解 Bird 的最新动态。

让我们为您联系Bird专家。
在30分钟内见证Bird的全部威力。

通过提交,您同意 Bird 可能会就我们的产品和服务与您联系。

您可以随时取消订阅。查看Bird的隐私声明以获取有关数据处理的详细信息。

Newsletter

通过每周更新到您的收件箱,随时了解 Bird 的最新动态。

让我们为您联系Bird专家。
在30分钟内见证Bird的全部威力。

通过提交,您同意 Bird 可能会就我们的产品和服务与您联系。

您可以随时取消订阅。查看Bird的隐私声明以获取有关数据处理的详细信息。

R

Reach

G

Grow

M

Manage

A

Automate

Newsletter

通过每周更新到您的收件箱,随时了解 Bird 的最新动态。