JSP参考教材PPT第四章会话跟踪简介JavaMail和Servl.ppt

上传人:max****ui 文档编号:6367429 上传时间:2020-02-24 格式:PPT 页数:35 大小:1.01MB
返回 下载 相关 举报
JSP参考教材PPT第四章会话跟踪简介JavaMail和Servl.ppt_第1页
第1页 / 共35页
JSP参考教材PPT第四章会话跟踪简介JavaMail和Servl.ppt_第2页
第2页 / 共35页
JSP参考教材PPT第四章会话跟踪简介JavaMail和Servl.ppt_第3页
第3页 / 共35页
点击查看更多>>
资源描述
第四章 JavaMail和Servlet 回顾 会话跟踪允许服务器跟踪同一客户端作出的连续请求HttpServletRequest接口的getSession 方法用于创建会话不同的会话跟踪技术包括URL重写 Cookie和隐藏表单域运行于同一服务器上的Servlet可以使用Servlet间通信方法进行通信Servlet上下文中可以存储共享对象 目标 使用JavaMailAPI描述JavaMail会话和消息使用Transport对象创建SendMailServlet描述WebMailServlet JavaMailweb 通过一个JavaMailWeb应用程序 客户可以访问Mail服务器上的邮件帐号 收发邮件和管理邮件夹E mail邮件服务器可以分为发送邮件的服务器和接收邮件的服务器发送邮件服务器使用邮件发送协议 常用的是SMTP协议 所以通常也把发送邮件的服务器称为SMTP协议接收邮件的服务器使用接收邮件协议 通常有POP3协议和IMAP协议 所以也叫做POP3服务器或IMAP服务器 E mail系统 客户机A E Mail服务器A E Mail服务器B 客户机B Internet 1 3 2SMTP协议 pop3协议 客户机A向客户机B发送邮件的过程 收发邮件的过程 SMTP发送一封邮件的过程客户端邮件首先到达邮件服务器 再由SMTP服务器负责传送到接收方的服务器 发送前发送服务器会与接收服务器联系 以确认接收方服务器是否已经准备好 如果已经准备好 则传送邮件 如果没有准备好 发送服务器会等待 并再一段时间后继续与接收方服务器进行联系 如果在规定的时间内联系不上 则发送消息到客户端说明情况POP3收信的过程用户通过自己熟悉的E mail客户端软件 如foxmail outlook等设置相应的参数后 就能够将所有的邮件从远程邮件服务器上下载到本地机上 演示 架设james服务器 JavaMailAPI JavaMailAPI 抽象类的集合 跨平台和跨协议 提供发送和接收JavaMail的功能 SMTP服务器用于发送邮件 POP3和IMAP服务器用于接收邮件 JavaMail用于通过网络或Internet发送和接收邮件 JavaMailAPI是SUN为java开发者提供的公用MailAPI框架 它支持各种电子邮件通信协议 如IMAP POP3 SMTP 为java应用程序提供email处理的接口 JavaMail组件 JavaMailAPI 抽象类层 Internet实现层 中间层 类结构 Message Store Session Folder JavaMail类 开发javamail应用需要两个jar文件 mail jar和activation jar jbuilder2006自带这两个文件 6种主要类 javax mail Session定义了一个基本邮件会话 是javamailAPI最高层入口类 所有其他类都是经由这个Session才得以生效 Session对象从java util Properties对象中获取信息 如邮件服务器 接受邮件协议 用户名 密码等信息javax mail Store访问接收邮件服务器上邮件账户的入口 通过他的getFolder方法 可以访问特定的邮件夹javax mail Folder代表邮件夹 用于分级组织邮件 通过Folder类可以访问和设置邮件夹中的邮件 6种主要类 续 javax mail Message该类封装了邮件信息 提供了 和设置邮件内容的方法 他是抽象类 常用子类为javax mail internet MimeMessagejavax mail Address代表电子邮件地址 与Message一样也是一个抽象类 常用子类为javax mail internet InternetAddressjavax mail Transport给据类型指定的邮件发送协议 通常是SMTP 通过指定的邮件发送服务器来发送邮件 Transport是抽象类 它提供一个静态方法send Message 方法来发送邮件 消息过程 消息 传输 发件人发送一则消息 提交该消息 存储 接收消息 文件夹 将消息存储Folder对象中 消息 收件人访问该消息 网络 发送邮件步骤1 step1 设置javaMail的属性创建javax mail Properties类的对象 该对象用来设置javaMail的属性 发送邮件步骤2 step2 创建Session实例调用javax mail Session类的静态方法Session getDefaultInstance获取Session实例 该方法根据已经配置好的javaMail属性来创建Session实例 Session类 Session类是最高级别的类可以创建共享和非共享会话会话不能有子类存放支持特定协议的Store和Transport对象能够控制和加载类Session对象具有用户配置属性 如主机名和用户名 用javamail进行认证发信1 当今mail服务器大多都是通过认证才能发信的 这一点在开发要特别主意 否则发信会失败Javax mail Authenticator类 Authenticator通过用户名和密码访问受保护的资源 对于JavaMailAPI来说 这些资源就是邮件服务器Step1 要使用Authenticator 先创建一个抽象类的子类 并从getPasswordAuthentication 方法中返回PasswordAuthentication实例 用javamail进行认证发信2 用javamail进行认证发信3 Step2 Step3 发送邮件步骤3 step3 创建邮件信息 即创建Message对象 Message类 Message类 标题属性 Part接口定义的属性 Message类添加的属性 主体内容 DataHandler对象消息的内容 发送邮件步骤4 step4 设置邮件体 登录邮件服务器 javax mail Store类Store类实现特定邮件协议上的读 写 监视 查找等操作 通过Javax mail Store类可以访问Javax mail Folder类 用法 Storestore s getSorte pop3 s为一个邮件会话store connect popserver username password 通过你提供的pop地址 用户名和密码登录你的邮箱 Store类 发件人 发送消息 StoreClass类 收件人 收件人Store 文件夹 消息 收件人登录 Store验证用户并允许访问视图消息 Folder类 Folder类 子文件夹 包含消息 消息 抽象类 关闭状态 importjava util importjava io importjavax mail importjavax mail internet importjavax activation publicclasswritemessage staticStringmsgText 请在此处输入文本 此文本为一字符串 publicstaticvoidmain String args Propertiesp System getProperties p put mail smtp host host Sessions Session getDefaultInstance p null Messagem newMimeMessage s Addressfrom newInternetAddress StringSender Email m setFrom from Addressto newInternetAddress StringRecipient Email m setRecipients Message RecipientType TO to m setSubject 您好 世界 m setSentDate newDate m setText msgText Transporttrans session getTransport SMTP trans send m 发送JavaMail 获得系统属性 设置连接协议并创建会话 新建Message对象 并为其设置属性 使用Transport类的send 方法将消息发送给收件人 创建一个HTML页面 用于接受邮件服务器名称 发件人地址 收件人地址 主题和消息的内容单击提交之后将此HTML转发给Servlet SendMailServlet2 1 演示 示例1 ShopStop消息传递服务欢迎来到ShopStop邮件系统请输入发送邮件的所有详细信息邮件服务器 创建一个Servlet 用于接受HTTP页面上的邮件服务器名称 发件人地址 收件人地址 主题和消息的内容发送邮件 SendMailServlet2 2 演示 示例2 publicvoiddoGet HttpServletRequestrequest HttpServletResponseresponse throwsServletException IOException response setContentType CONTENT TYPE PrintWriterout response getWriter StringsmtpServer request getParameter txtserver StringemailTo request getParameter txtto StringfromEmail request getParameter txtfrom Stringsubject request getParameter txtsubject Stringbody request getParameter txtmessage try Propertiesprops newProperties props put mail transport protocol smtp props put mail smtp host smtpServer props put mail smtp port 25 Sessionmailsession Session getInstance props Messagemsg newMimeMessage mailsession msg setFrom newInternetAddress fromEmail msg setRecipients Message RecipientType TO InternetAddress parse emailTo msg setSentDate newDate msg setSubject subject msg setText body Transport send msg msg writeTo System out out println 邮件已成功发送到 emailTo catch Exceptione System out println e out close importjava util importjava io importjavax mail importjavax mail internet importjavax activation publicclasswritemessage publicstaticvoidmain String args Sessionses Session getDefaultInstance System getProperties null Storestore ses getStore protocol store connect hostname username password Folderfolder store getFolder Inbox folder open Folder READ WRITE Messagearraymessage folder getMessages for inti 0 j arraymessage length i j i arraymessage i writeTo System out folder close false store close 列出Inbox中的邮件 获得Session对象 获得Store对象并连接到Store 获得默认文件夹并以Read Write模式打开 获得数组中的所有消息 回复消息 Message类包括reply 方法reply 方法将boolean作为参数此方法将设置新消息的setForm或replyTo属性Transport对象的Send 方法用于发送邮件回复消息的语法为 Messagereply object message reply false reply setFrom newInternetAddress Stringemail reply setText Stringtext Transport send reply Multipart消息 Multipart消息是Message类的对象内容类型设置为MultipartMultipart对象可以获得一个或多个BodypartBodypart对象可以获得一个新的Multipart对象或DataHandlerBodypart对象是Part接口的实例化Multipart消息可以包含纯文本消息或带有附件的消息 Multipart消息结构 Multipart对象 Bodypart对象 Bodypart对象 Bodypart对象 创建一个HTML页面 用于接受邮件服务器名称 发件人地址 收件人地址 主题 要附加的文件的位置和消息的内容单击提交之后将HTML转发到Servlet 发送带有附件的邮件 演示 示例3 ShopStop消息传递服务欢迎来到ShopStop邮件系统请输入发送邮件的所有详细信息服务器 创建一个Servlet 用于接受服务器名称 发件人地址 收件人地址 要附加的文件的位置 主题和消息的内容发送带有附件的消息 发送带有附件的邮件 演示 示例4 Propertiesprops System getProperties try props put mail smtp host host Sessionsession Session getInstance props null MimeMessagemessage newMimeMessage session message setFrom newInternetAddress from message addRecipient Message RecipientType TO newInternetAddress to message setSubject subject MimeBodyPartmessageBodyPart newMimeBodyPart messageBodyPart setText body Multipartmultipart newMimeMultipart multipart addBodyPart messageBodyPart messageBodyPart newMimeBodyPart DataSourcesource newFileDataSource fileAttachment messageBodyPart setDataHandler newDataHandler source messageBodyPart setFileName fileAttachment multipart addBodyPart messageBodyPart message setContent multipart Transport send message out println 邮件已成功发送 总结2 1 JavaMail提供一组抽象类和接口JavaMail是跨平台和跨协议的 有助于发送和接收邮件Message类是一个抽象类 具有消息的寻址信息和内容Folder类是一个抽象类 可以包含子文件夹 消息或两者Store类是一个抽象类 定义用于访问文件夹和检索消息的协议Session类是最高级别的类 不能有子类Transport类的send 方法用于发送消息Store对象的connet 方法用于连接以查看文件夹和消息 总结2 2 Multipart消息是Message类的对象 其内容类型设置为MultipartMultipart消息可以有多个BodypartBodypart既可以为纯文本 也可以为附件
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!