JavaMail学习之一-邮件传输协议

时间:2023-03-08 17:58:21
JavaMail学习之一-邮件传输协议

协议:规定好的格式就是协议。就像http协议有请求协议和响应协议,邮件传输也分为发、收邮件的协议。

邮件协议分3种:

  发邮件的:SMTP (Simple Mail Transport  Protocal)简单邮件传输协议

  收邮件的协议:pop3 (Post Office Protocal 3)邮局协议3

  IMAP 新协议 发邮件也可以收邮件。

http协议是组织好协议,一块扔给服务器,而SMTP和pop3则是一步步的与服务器交互,对话模式。接收到服务器的响应后才能发起下次请求。

收发邮件的过程:一般情况下,smtp和pop3是两个服务器(主机)。Smtp邮件的端口为25。POP3 端口 为110。

用Foxmail登录邮箱:

JavaMail学习之一-邮件传输协议

在网易上能查出来相关服务器信息:http://help.163.com/09/1223/14/5R7P6CJ600753VB8.html

JavaMail学习之一-邮件传输协议

qq邮箱:http://service.mail.qq.com/cgi-bin/help?subtype=1&no=167&id=28

JavaMail学习之一-邮件传输协议


E-Mail协议简介:

邮件服务器,按照提供的服务类型,可以分为发送邮件的服务器和接收邮件的服务器。

发送邮件的服务器使用发送协议,现在常用的是SMTP协议。所以,通常发邮件的服务器也称为SMTP服务器。

接收邮件的服务器使用接收协议,现在常用的是POP3协议或IMAP协议,所以通常也被称为POP3或IMAP服务器。

目前经常见到的服务器为SMTP和POP3服务器。如大家在注册了126的邮箱之后,它的发邮件服务器为smtp.126.com:25,而收邮件服务器则为pop3.126.com:110.(冒号后面的为端口号)。

当然,发邮件服务器和收邮件服务器也可能是同一台主机,但端口号一定不相同。默认发邮件服务器的端口为25,收邮件的端口为110.

邮件发送的工作图:

JavaMail学习之一-邮件传输协议

邮件收/发协议:

SMTP协议-发邮件协议
全称为Simple Mail Transfer Protocol(简单邮件传输协议),它定义了邮件客户端软件与SMTP服务器之间、以及两台SMTP服务器之间的通讯规则。端口一般为25.
POP3协议-收邮件协议
全称为Post Office Protocol(邮局协议),它定义了邮件客户端软件与POP3服务器的通讯规则。端口一般为110.
IMAP协议-对POP3的扩展
全称为Internet Message Access Protocal(Internet消息访问协议),它是对POP3协议的一种扩展,定义了邮件客户端软件与IMAP服务器的通讯规则。

SMTP发邮件协议的命令

JavaMail学习之一-邮件传输协议

POP3协议的命令

JavaMail学习之一-邮件传输协议

通过命令行发邮件的示例:

JavaMail学习之一-邮件传输协议

发邮件时,要对用户名和密码进行base64编码

第一步:与服务器建立连接。

telnet smtp.126.com 25
第二步:先和服务器打个招乎。Ehlo someTxt
第三步:请求登录:auth login.
输入用户名:经过base64编码以后的。
输入密码,也是经过base64编码以后的。
第四步:输入发件人mail from:<wangjian_me@126.com>
第五步:输入收件人rcpt to:<wangjianme@sohu.com>
第六步:输入data命令然后回车,开始输入数据。
可选的输入from:<…>
可选的输入to:<..>
subject:主题
第七步:输入.(点)单行,表示数据结束。
第八步:输入quit退出。

接收邮件:pop3:

telnet pop3.126.com 110

user wj_leaf12345
pass 1qaz2wsx

stat - 显示总体信息。

list - 列出所有信件。

retr 1 - 显示第一封信件。

quit -退出