[实习总结]java邮件开发本人_第1页
[实习总结]java邮件开发本人_第2页
[实习总结]java邮件开发本人_第3页
[实习总结]java邮件开发本人_第4页
[实习总结]java邮件开发本人_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京传智播客教育 ,Java邮件开发详解,讲师:张孝祥,北京传智播客教育 ,配套书籍,北京传智播客教育 ,Java邮件开发介绍,课程目标为什么要学习和如何学习邮件开发电子邮件的一些基本常识准备实验环境SMTP协议与POP3协议什么是Java Mail编写邮件发送程序邮件内容的组织结构与邮件内容创建程序邮件接收程序的简要介绍,北京传智播客教育 ,课程目标,用程序代码生成一封带附件和内嵌图片的复杂邮件(效果演示)用自己的程序代码将复杂邮件发送出去(效果演示)一些特殊的经验和高级应用中文名的邮件附件的乱码问题Tomcat中JavaMail支持与冲突问题SMTP邮件服务器程序的开发,北京传智播客教育 ,为什么要学习邮件开发,曾经很赚钱的技术:丁磊早期就是靠邮件起家,参看收集的网络资料我本人对外承接的第一个项目也是邮件系统对找工作有帮助:我们好几个学员毕业后出去都在做邮件相关的项目,其中一个有意义的项目是将邮件内容发布成BBS的帖子。许多办公自动化项目(OA)中都要附带发送邮件的功能,譬如我们要给学员发送通知,使用OutLook等手工方式就不合适,需要提高工作效率,让工作能够自动化,这也算是 信息化建设的一部分吧!在许多网站项目中也都需要附带发送邮件的功能,即要求软件开发人员在WEB应用中编写相应的邮件处理程序。 给新注册的用户自动发送一封包含其注册信息的欢迎E-Mail 给过生日的注册会员自动发送一封表示祝贺的E-Mail 将网站的最新活动信息通过E-Mail发送给所有的注册会员,北京传智播客教育 ,如何学习邮件开发,学习邮件开发包括两大方面:发送与接收邮件创建与解析邮件内容,北京传智播客教育 ,电子邮件的一些基本常识,邮件服务器 电子邮箱 邮件客户端软件 邮件传输协议电子邮件的传输过程,北京传智播客教育 ,邮件服务器,电子邮件服务器主要提供以下功能:(1)接收用户投递的邮件;(2)将用户投递进来的邮件转发给目标邮件服务器;(3)接收其他邮件服务器转发来的邮件并把邮件存储到其管理的用户邮中;(4)为前来读取邮件的用户提供读取服务。,邮件服务器按通讯协议可以划分为两种类型:SMTP服务器 POP3/IMAP服务器,北京传智播客教育 ,电子邮箱与邮件客户端软件,电子邮箱:每个电子邮件服务器之上都可以开设多个电子邮箱,电子邮箱也称之为E-mail地址,它类似现实生活中的通讯地址,用户可通过这个地址接收别人发来的电子邮件和向别人发送电子邮件。电子邮箱的获得需要在邮件服务器上进行申请 ,确切地说,电子邮箱其实就是用户在邮件服务器上申请的一个帐户。邮件服务器把接收到的邮件保存到为某个帐户所分配的邮箱空间中,用户通过其申请的用户名和密码登陆到邮件服务器上查收该地址已收到的电子邮件。,邮件客户端软件:邮件客户端软件负责与邮件服务器通讯,主要用于帮助用户将邮件发送给SMTP服务器和从POP3/IMAP邮件服务器读取用户的电子邮件。邮件客户端软件通常集邮件撰写、发送和接收功能于一体。,北京传智播客教育 ,电子邮件的传输过程,北京传智播客教育 ,准备实验环境,提前在sina和sohu上开设一个免费帐号获取smtp和pop3服务器的名称在outlook中配置sina帐户使用outlook发送和接收邮件,北京传智播客教育 ,sina,Itcast_,sohu,Itcast_,smtp,smtp,pop3,北京传智播客教育 ,邮件传输协议,SMTP协议全称为Simple Mail Transfer Protocol(简单邮件传输协议),它定义了邮件客户端软件与SMTP服务器之间、以及两台SMTP服务器之间的通讯规则。POP3协议全称为Post Office Protocol(邮局协议),它定义了邮件客户端软件与POP3服务器的通讯规则。IMAP协议全称为Internet Message Access Protocal(Internet消息访问协议),它是对POP3协议的一种扩展,定义了邮件客户端软件与IMAP服务器的通讯规则。,北京传智播客教育 ,SMTP协议的命令,北京传智播客教育 ,POP3协议的命令,北京传智播客教育 ,什么是Java Mail,要自己写程序发送和接收邮件,可以直接采用Socket编程连接上远程的邮件服务器,然后按照邮件协议与邮件服务器进行交互,涉及较多细节。另外,要想自己编程创建出复杂的MIME格式的邮件,是一件非常困难和麻烦的事情。JavaMail 是Sun公司为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如SMTP、POP3、IMAP。 开发人员使用JavaMail API编写邮件处理软件时,无须考虑邮件协议的底层实施细节,只要调用JavaMail开发包中相应的API类就可以了。 JavaMail 也提供了能够创建出各种复杂MIME格式的邮件内容的相关API。,北京传智播客教育 ,JavaMail 的体系结构与API分类,JavaMail API按其功能划分通常可分为如下三大类:创建和解析邮件内容的API :Message类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件。 发送邮件的API:Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议。 接收邮件的API:Store类是接收邮件的核心API类,它的实例对象代表实现了某个邮件接收协议的邮件接收对象,例如POP3协议。 Session类 Session类用于定义整个应用程序所需的环境信息,以及收集客户端与邮件服务器建立网络连接的会话信息,如邮件服务器的主机名、端口号、采用的邮件发送和接收协议等。Session对象根据这些信息构建用于邮件收发的Transport和Store对象,以及为客户端创建Message对象时提供信息支持。,北京传智播客教育 ,JAF简介,JAF(JavaBeans Activation Framework,JavaBeans激活框架)是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据的接口。 JAF的主要作用在于让Java应用程序知道如何对一个数据源进行查看、编辑和打印等操作。对于通过JAF封装的数据,应用程序通过JAF提供的接口可以完成如下功能:访问数据源中的数据获知数据源的数据类型获知可对数据进行的各种操作用户对数据执行某种操作时,自动创建执行该操作的软件部件的实例对象JavaMail API可以利用JAF从某种数据源中读取数据和获知数据的MIME类型,并用这些数据生成MIME消息中的消息体和消息类型。,北京传智播客教育 ,邮件发送程序,使用JavaMail发送一封简单的邮件:创建包含邮件服务器的网络连接信息的Session对象。 创建代表邮件内容的Message对象。 创建Transport对象、连接服务器、发送Message、关闭连接。 应用Authenticator类实现用户信息验证结合Transport.send静态方法使用。,北京传智播客教育 ,邮件内容的组织结构,RFC822邮件格式MIME协议邮件编码复合邮件结构分析,北京传智播客教育 ,复合邮件的整体结构图,北京传智播客教育 ,MIME中的组合关系,北京传智播客教育 ,复合邮件的分隔线层次结构分析,北京传智播客教育 ,邮件组织结构相关的API,MimeMessage类表示整封邮件。MimeBodyPart类表示邮件的一个MIME消息。MimeMultipart类表示一个由多个MIME消息组合成的组合MIME消息。,北京传智播客教育 ,邮件内容创建程序,简单邮件内容包含内嵌图片的复杂邮件包含内嵌图片和附件的复杂邮件中文名的邮件附件的乱码问题收件人和发件人的地址中附带友好名称让回复地址与发件人地址不同,北京传智播客教育 ,在Web应用程序中增加邮件发送功能,北京传智播客教育 ,Web邮件发送的界面示意,系统配置会员管理产品管理权限管理新闻发布邮件发送注销,后台管理系统,收件人:,选择,邮件正文:,附件1:,附件2:,附件3:,发送,单击后调出查询界面,北京传智播客教育 ,Tomcat中JavaMail支持与冲突,用普通方式在web应用程序中增加邮件发送功能先演示在eclipse没有导入mail.jar可以编译,但部署运行有问题的原因用Tomcat支持的JNDI资源方式,步骤:配置JNDI资源。将mail.jar拷贝到/lib目录下。在Java程序中使用JNDI API获得mail的session对象。分析类加载的冲突问题,北京传智播客教育 ,Webapp/lib/mail.jar,Jndi context,Jndi api,tomcat,北京传智播客教育 ,SMTP邮件服务器程序,SMTP邮件服务器与客户端程序的技术差异, SMTP邮件服务器既能收,也能发。发的时候怎样得知其他域的邮件服务器的地址?smtp服务器又分为两类,例如sina的,这两类服务器在接收邮件时也存在技术差异。,北京传智播客教育 ,SMTP邮件服务器程序,配置与查看DNS服务器验证DNS服务的作用MX( mail box )记录域名解析原理,北京传智播客教育 ,域名解析原理,一个域中的每个主机名与其IP地址的映射关系由这个域的DNS服务器负责管理,例如,“”、“”、“”等主机名都由管理域“”的DNS服务器进行管理,而不能由管理域“org”的DNS服务器进行管理。 每个子域都必须在其直接父域的DNS服务器上注册该子域的名称和该子域的DNS服务器的IP地址,例如,必须在管理域“org”的DNS服务器注册子域“”和管理子域“”的DNS服务器的IP地址后,域名“”才能真正被外界所认可。为了方便对顶级域名的统一管理,在顶级域名之上其实还有一个根域名,根域名用点(.)表示,例如,“”也可以写为“.”,“.”中的最后的那个点(.)就表示根域名。 Internet中的根域名由InterNIC(国际互联网络信息中心)集中管理,顶级域名和其下的域名则由拥

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论