邮件传输协议SMTP和SMTPS

Posted east7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了邮件传输协议SMTP和SMTPS相关的知识,希望对你有一定的参考价值。

      在《使用Spring Boot 优雅地发送邮件》中,我们实现了spring boot集成spring-boot-starter-mail,使用JavaMailSender发送电子邮件的功能。在配置文件中设置了端口和邮件传输协议,现在思考一个问题——它们是什么呢?这里就剥茧抽丝般的揭开其神秘面纱。 

1. 三种邮件传输协议概述

      作为一个勤学好问的程序猿,我们当然也要了解下邮件发送的协议,这个是关乎邮件发送的最根本的内容。 

      在上述邮件发送的过程中,邮件客户端和邮件服务器之间,以及两个邮件服务器之间进行邮件传递,是要遵守一定的规则,这个规则就是邮件传输协议。常见的电子邮件协议SMTP、POP3、IMAP,它们都隶属于TCP/IP协议族,默认状态下,分别通过TCP端口25、110和143建立连接。下面分别对其进行简单介绍。

  1. SMTP:简单邮件传输协议(Simple Mail Transfer Protocol),用于发送电子邮件的传输协议;主要用来从邮件客户端向邮件服务器发送邮件,也可以用来在邮件服务器之间转发邮件。
  2. POP3:Post Office Protocol,用于接收电子邮件的标准协议;
  3. IMAP:全称是 Internet Message Access Protocol,互联网消息协议,是POP3的代替协议;

      后两者用来从邮件服务器获取邮件。

 技术图片

 

       这三种协议都有对应SSL加密传输的协议,分别是SMTPS,POP3S和IMAPS。下面介绍SMTP和SMTPS协议。 

2. SMTP协议

      SMTP:简单邮件传输协议,是一个基于文本的协议。在其上指定了一个消息的一个或多个接收者(收件人和抄送人),然后消息文本会被传输。可以使用简单的telnet程序来测试一个SMTP服务器。

      如今绝大多数邮件服务器都使用该协议。当你给别人发邮件时,你的服务器的某个动态端口(大于1024)就会和邮件服务器的25端口建立一个连接,你发送的邮件会通过这个连接传送到邮件服务器上,保存起来。需要注意的是,现在国内外的大云主机商(例如:阿里云),多数不允许连接外网的25端口。 

3. SMTPS协议

       SMTPS(SMTP-over-SSL)是SMTP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。SMTPS和SMTP协议一样,也是用来发送邮件的,只是更安全些,防止邮件被黑客截取泄密,还可实现邮件发送者抗抵赖功能。防止发送者发送之后删除已发邮件,拒不承认发送过这样一份邮件。端口465和587便是基于SMTPS协议开放的。

      465端口(SMTPS):它是SMTPS协议服务所使用的其中一个端口,它在邮件的传输过程中是加密传输(SSL/TLS)的,相比于SMTP协议攻击者无法获得邮件内容,邮件在一开始就被保护了起来。

      587端口(SMTPS):它是SMTPS协议服务所使用的另一个端口,它在邮件的传输过程中是加密传输(STARTTLS)的,相比于SMTP协议攻击者无法获得邮件内容,邮件在STARTTLS命令执行后才被加密。465用于Outlook上,而587可以用于任何程序上。 

Reference

https://www.jianshu.com/p/c1763b172013

以上是关于邮件传输协议SMTP和SMTPS的主要内容,如果未能解决你的问题,请参考以下文章

中科大 计算机网络14 EMail SMTP简单邮件传输协议 POP3邮件传输协议 IMAP消息访问协议 HTTP超文本传输协议

电子邮件传输的协议是啥?

45.简单邮件传输协议 SMTP

SMTP 简单邮件传输协议

电子邮件使用的最主要的传输协议是

应用层-第三四节:文件传输协议(FTP)和电子邮件