第8章电子邮件的发送和接收

上传人:今*** 文档编号:108439255 上传时间:2019-10-24 格式:PPT 页数:41 大小:395KB
返回 下载 相关 举报
第8章电子邮件的发送和接收_第1页
第1页 / 共41页
第8章电子邮件的发送和接收_第2页
第2页 / 共41页
第8章电子邮件的发送和接收_第3页
第3页 / 共41页
第8章电子邮件的发送和接收_第4页
第4页 / 共41页
第8章电子邮件的发送和接收_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《第8章电子邮件的发送和接收》由会员分享,可在线阅读,更多相关《第8章电子邮件的发送和接收(41页珍藏版)》请在金锄头文库上搜索。

1、Java网络程序设计,第8章 电子邮件的发送和接收,“跨越长城,我们可以达到世界的任何角落。”这是1987年9月20日从8北京向海外发出的中国第一封电子邮件发。 至今,电子邮件在我们日常生活中的作用越来越重要。电子邮件有诸多优点,不同的电子邮件服务商之间互联互通,可以减少会议和电话的数量,能留下决策的书面记录,还能让处于不同时区的人更加方便地联系。例如,美国和中国之间的通信用电子邮件就很方便,如果用即时通信因为时差颠倒的问题,很难同时在线。 现在,人们大量地使用电子邮件,因为它发送起来十分容易。 本章介绍电子邮件的发送与接收。,8.1 E-mail协议简介,邮件服务器按照提供的服务类型,可以分

2、为发送邮件服务器(简称发送服务器)和接收邮件服务器(简称接收服务器)。 发送邮件服务器使用邮件发送协议,现在常用的是SMTP,所以通常发送邮件服务器也称为SMTP服务器; 接收邮件服务器使用接收邮件协议,常用的有POP3协议和IMAP协议,所以通常接收邮件服务器也称为POP3服务器或IMAP服务器。,8.1 E-mail协议简介,8.1.1 SMTP简单邮件传输协议,SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,是Internet传送E-mail的基本协议,也是TCP/IP协议组的成员。 SMTP协议解决邮件系统如何通过一条链路,把邮件从一台机器传

3、送到另一台机器上的问题。 SMTP协议的特点是具有良好的可伸缩性,这也是它成功的关键。它既适用于广域网,也适用于局域网。,8.1.1 SMTP简单邮件传输协议,SMTP工作在两种情况下,一种是电子邮件从客户机传输到服务器;另一种是从一个服务器传输到另一个服务器 SMTP是个请求/响应协议,它监听25号端口,用于接收用户的Mail请求,并与远端Mail服务器建立SMTP连接。 SMTP通常有发送SMTP和接收SMTP两种工作模式。 它的具体工作方式为: 当发送SMTP接收到用户的邮件请求后,首先判断此邮件是否为本地邮件,若是,则直接投送到用户的邮箱; 否则:,8.1.1 SMTP简单邮件传输协议

4、,向DNS查询远端邮件服务器的记录,并建立与远端接收SMTP之间的一个双向传送通道,此后, SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反向传送。如下图所示,8.1.1 SMTP简单邮件传输协议,一旦传送通道建立, SMTP发送者发送MAIL命令指明邮件发送者 如果SMTP接收者可以接收邮件,则返回OK应答。 SMTP发送者再发出RCPT命令确认是否接收到。 如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作) 双方将如此操作多次。 当接收者收到全部邮件后,会接收到特别的序列,如果接收者成功处理了邮件,则返回OK应答,8.1.1 S

5、MTP简单邮件传输协议,SMTP协议由于非常简单,使得它得到了广泛的运用,在Internet上能够发送邮件的服务器几乎都支持SMTP协议。,8.1.2 POP3邮局协议,POP(POP,Post Office Protocol)用于电子邮件的接收,它使用TCP的110端口。 POP3(Post Office Protocol 3),即邮局协议第3版,是 Internet接收邮件的基本协议,也是TCP/IP协议组的成员。 RFC1939描述了POP3协议,网址为“http:/www.ietf.org/rfc/rfc1939.txt”。 POP3既允许接收服务器向邮件用户发送邮件,也可以接收来自S

6、MTP服务器的邮件。 邮件客户端软件会与POP3服务器交互,下载由POP3服务器接收到的邮件。,8.1.2 POP3邮局协议,POP3协议有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出quit命令,则进入更新状态,更新之后最后重返认可状态。如下图 。,8.1.2 POP3邮局协议,基于POP3协议的邮件系统能提供快速、经济和方便的邮件接收服务,深受用户的青睐。,8.1.3 接收邮件的新协议IMAP,IMAP(Internet Message Access Protocol),即

7、互联网消息访问协议,是一种功能比POP3更强大的新的接收邮件协议。 目前最新的IMAP协议版本为IMAP4,RFC2060描述了IMAP4,网址为“http:/www.ietf.org/rfc/rfc2060.txt”。 IMAP4与POP3协议一样提供了方便的下载邮件服务,允许用户在脱机状态下阅读已经下载到本地硬盘的邮件。但IMAP4的功能远远不只这些,它还具有以下功能:,8.1.3 接收邮件的新协议IMAP,摘要浏览邮件的功能; 选择性下载附件的功能; 鼓励用户把邮件一直存储在邮件服务器上; 允许用户把远程邮件服务器上的邮箱作为信息存储工具。 IMAP的监听端口143。,8.1.4 MIM

8、E简介,MIME(Multipurpose Internet Mail Extensions,多用途Internet邮件扩充标准)不是邮件传输协议,而是对邮件格式所作的规范。 RFC2045、RFC2046和RFC2047对MIME作了描述。 MIME是对RFC822的扩充,RFC822规定了内容只包括采用ASCII编码的纯文本的邮件的格式,而MIME允许在邮件中包含附件。,8.2 JavaMail API简介,SUN公司制定了JavaMail API,它封装了按照各种邮件通信协议,如IMAP、POP3和SMTP,与邮件服务器通信的细节,为Java应用程序提供了收发电子邮件的公共接口,参见图,

9、8.2 JavaMail API简介,JavaMail API主要位于javax.mail包和javax.mail.internet中,下图为其中主要类的类框图。,表示邮件会话,表示接收邮件服务器上的注册用户的存储空间,通过getFolder()方法,可以访问用户的特定邮件夹,表示邮件夹,通过指定的邮件发送服务器来发送邮件,电子邮件,邮件地址,8.3 发送电子邮件,8.3.1 电子邮件的工作原理 电子邮件与普通邮件有类似的地方,发信者要注明收件人的姓名与地址,发送方服务器把邮件传送到收件方服务器,收件方服务器再把邮件发送到收件人的邮箱中,如图所示:,使用过桌面邮件客户端的人都知道,关联一个邮件

10、账户,需要设置它的SMTP邮件发送服务器和POP3邮件接收服务器,如下图所示:,8.3 发送电子邮件,8.3.2 发送电子邮件例 1.发送邮件基本信息类,8.3 发送电子邮件,import java.util.Properties; public class MailSenderInfo /发送邮件服务器的IP地址和端口 private String mailServerHost; private String mailServerPort; /邮件发送者的地址 private String fromAddress; /邮件接收者的地址 private String toAddress;,8.

11、3 发送电子邮件,/邮件发送服务器的用户名和密码 private String userName; private String password; /是否需要身份验证 private boolean validate = false; /邮件主题 private String subject; /邮件的文本内容 private String content; /邮件附件的文件名 private String attachFileName;,8.3 发送电子邮件,public Properties getProperties() Properties p = new Properties();

12、 p.put(“mail.smtp.host“, this.mailServerHost); p.put(“mail.smtp.port“, this.mailServerPort); p.put(“mail.smtp.auth“, validate?“true“:“false“); return p; ,8.3 发送电子邮件,public String getMailServerHost() return mailServerHost; public void setMailServerHost(String mailServerHost) this.mailServerHost = mai

13、lServerHost; public String getMailServerPort() return mailServerPort; ,8.3 发送电子邮件,public void setMailServerPort(String mailServerPort) this.mailServerPort = mailServerPort; public String getFromAddress() return fromAddress; public void setFromAddress(String fromAddress) this.fromAddress = fromAddres

14、s; ,8.3 发送电子邮件,public String getToAddress() return toAddress; public void setToAddress(String toAddress) this.toAddress = toAddress; public String getUserName() return userName; ,8.3 发送电子邮件,public void setUserName(String userName) this.userName = userName; public String getPassword() return password

15、; public void setPassword(String password) this.password = password; ,8.3 发送电子邮件,public boolean isValidate() return validate; public void setValidate(boolean validate) this.validate = validate; public String getSubject() return subject; ,8.3 发送电子邮件,public void setSubject(String subject) this.subject

16、 = subject; public String getContent() return content; public void setContent(String content) this.content = content; ,8.3 发送电子邮件,public String getAttachFileName() return attachFileName; public void setAttachFileName(String attachFileName) this.attachFileName = attachFileName; ,8.3 发送电子邮件,2. 对电子邮件的认证类:,import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; public class MyAut

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号