JSP参考教材PPT-第四章 会话跟踪简介JavaMail和Servlet课件

上传人:我*** 文档编号:145247401 上传时间:2020-09-18 格式:PPT 页数:35 大小:664KB
返回 下载 相关 举报
JSP参考教材PPT-第四章 会话跟踪简介JavaMail和Servlet课件_第1页
第1页 / 共35页
JSP参考教材PPT-第四章 会话跟踪简介JavaMail和Servlet课件_第2页
第2页 / 共35页
JSP参考教材PPT-第四章 会话跟踪简介JavaMail和Servlet课件_第3页
第3页 / 共35页
JSP参考教材PPT-第四章 会话跟踪简介JavaMail和Servlet课件_第4页
第4页 / 共35页
JSP参考教材PPT-第四章 会话跟踪简介JavaMail和Servlet课件_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《JSP参考教材PPT-第四章 会话跟踪简介JavaMail和Servlet课件》由会员分享,可在线阅读,更多相关《JSP参考教材PPT-第四章 会话跟踪简介JavaMail和Servlet课件(35页珍藏版)》请在金锄头文库上搜索。

1、第四章,JavaMail 和 Servlet,回顾,会话跟踪允许服务器跟踪同一客户端作出的连续请求 HttpServletRequest 接口的 getSession( ) 方法用于创建会话 不同的会话跟踪技术包括URL 重写、Cookie 和隐藏表单域 运行于同一服务器上的 Servlet 可以使用 Servlet 间通信方法进行通信 Servlet 上下文中可以存储共享对象,目标,使用 JavaMail API 描述 JavaMail 会话和消息 使用 Transport 对象 创建 Send Mail Servlet 描述 Web Mail Servlet,Java Mail web,通

2、过一个Java Mail Web应用程序,客户可以访问Mail服务器上的邮件帐号,收发邮件和管理邮件夹 Email邮件服务器可以分为发送邮件的服务器和接收邮件的服务器 发送邮件服务器使用邮件发送协议,常用的是SMTP协议,所以通常也把发送邮件的服务器称为SMTP协议 接收邮件的服务器使用接收邮件协议,通常有POP3协议和IMAP协议,所以也叫做POP3服务器或IMAP服务器,E-mail系统,客户机A,E-Mail服务器A,E-Mail服务器B,客户机B,Internet,1,3,2 SMTP协议,pop3协议,客户机A向客户机B发送邮件的过程,收发邮件的过程,SMTP发送一封邮件的过程 客户

3、端邮件首先到达邮件服务器,再由SMTP服务器负责传送到接收方的服务器。发送前发送服务器会与接收服务器联系,以确认接收方服务器是否已经准备好。如果已经准备好,则传送邮件;如果没有准备好,发送服务器会等待,并再一段时间后继续与接收方服务器进行联系,如果在规定的时间内联系不上,则发送消息到客户端说明情况 POP3收信的过程 用户通过自己熟悉的Email客户端软件,如foxmail,outlook等设置相应的参数后,就能够将所有的邮件从远程邮件服务器上下载到本地机上,演示:架设james服务器,JavaMail API,JavaMail API,抽象类的 集合,跨平台和跨协议,提供发送和接收 Java

4、Mail 的功能,SMTP 服务器用于发送邮件,POP3 和 IMAP 服务器用于接收邮件,JavaMail 用于通过网络或 Internet 发送和接收邮件。 JavaMail API是SUN为java开发者提供的公用Mail API框架,它支持各种电子邮件通信协议,如IMAP,POP3,SMTP,为java应用程序提供email处理的接口,JavaMail 组件,JavaMail API,抽象类层,Internet 实现层,中间层,类结构,Message,Store,Session,Folder,JavaMail 类,开发javamail应用需要两个jar文件:mail.jar 和 act

5、ivation.jar,jbuilder2006自带这两个文件,6种主要类,javax.mail.Session 定义了一个基本邮件会话,是javamail API最高层入口类。所有其他类都是经由这个Session才得以生效。Session对象从java.util.Properties对象中获取信息,如邮件服务器,接受邮件协议,用户名,密码等信息 javax.mail.Store 访问接收邮件服务器上邮件账户的入口,通过他的getFolder方法,可以访问特定的邮件夹 javax.mail.Folder 代表邮件夹,用于分级组织邮件,通过Folder类可以访问和设置邮件夹中的邮件。,6种主要类

6、续,javax.mail.Message 该类封装了邮件信息,提供了。和设置邮件内容的方法。他是抽象类,常用子类为javax.mail.internet.MimeMessage javax.mail.Address 代表电子邮件地址,与Message一样也是一个抽象类,常用子类为javax.mail.internet.InternetAddress javax.mail.Transport 给据类型指定的邮件发送协议(通常是SMTP),通过指定的邮件发送服务器来发送邮件。Transport是抽象类,它提供一个静态方法send(Message)方法来发送邮件,消息过程,消息,传输,发件人发送一则

7、消息,提交该消息,存储,接收消息,文件夹,将消息存储 Folder 对象中,消息,收件人访问该消息,网络,发送邮件步骤1,step1:设置javaMail的属性 创建javax.mail.Properties类的对象,该对象用来设置javaMail的属性,发送邮件步骤2,step2:创建Session实例 调用javax.mail.Session类的静态方法Session.getDefaultInstance获取Session实例,该方法根据已经配置好的javaMail属性来创建Session实例,Session 类,Session 类是最高级别的类 可以创建共享和非共享会话 会话不能有子类

8、存放支持特定协议的 Store 和 Transport 对象 能够控制和加载类 Session 对象具有用户配置属性,如主机名和用户名,用javamail进行认证发信1,当今mail服务器大多都是通过认证才能发信的 .这一点在开发要特别主意,否则发信会失败Javax.mail. Authenticator类: Authenticator 通过用户名和密码访问受保护的资源。对于JavaMail API 来说,这些资源就是邮件服务器 Step1:要使用 Authenticator,先创建一个抽象类的子类,并从 getPasswordAuthentication() 方法中返回 PasswordAu

9、thentication 实例,用javamail进行认证发信2,用javamail进行认证发信3,Step2: Step3:,发送邮件步骤3,step3:创建邮件信息,即创建Message对象,Message 类,Message 类,标题属性,Part 接口定义的属性,Message 类添加的属性,主体内容,Data Handler 对象 消息的内容,发送邮件步骤4,step4:设置邮件体,登录邮件服务器,javax.mail.Store类Store类实现特定邮件协议上的读、写、监视、查找等操作。通过Javax.mail.Store类可以访问Javax.mail.Folder类。用法:Sto

10、re store=s.getSorte(pop3);/s为一个邮件会话store.connect(popserver,username,password);/通过你提供的pop地址,用户名和密码登录你的邮箱,Store 类,发件人,发送消息,Store Class类,收件人,收件人 Store,文件夹,消息,收件人登录,Store 验证用户并允许访问视图消息,Folder 类,Folder 类,子文件夹,包含消息,消息,抽象类,关闭状态,import java.util.*; import java.io.*; import javax.mail.*; import javax.mail.in

11、ternet.*; import javax.activation.*; public class writemessage static String msgText = “请在此处输入文本。 此文本为一字符串。; public static void main(String args) Properties p = System.getProperties(); p.put(“mail.smtp.host“,host); Session s = Session.getDefaultInstance(p, null); Message m = new MimeMessage(s); Addr

12、ess from = new InternetAddress(String Sender_Email); m.setFrom(from); Address to = new InternetAddress(String Recipient_Email); m.setRecipients(Message.RecipientType.TO, to); m.setSubject(“您好,世界); m.setSentDate(new Date(); m.setText(msgText); Transport trans = session.getTransport(“SMTP“); trans.sen

13、d(m) ,发送 JavaMail,获得系统属性,设置连接协议并创建会话,新建 Message 对象,并为其设置属性,使用 Transport 类的 send() 方法将消息发送给收件人,创建一个 HTML 页面,用于接受邮件服务器名称、发件人地址、收件人地址、主题和消息的内容 单击提交之后将此 HTML 转发给 Servlet,Send Mail Servlet 2-1,演示:示例 1, Shop Stop 消息传递服务 欢迎来到 Shop Stop 邮件系统 请输入发送邮件的 所有详细信息 邮件服务器: ,创建一个 Servlet,用于接受 HTTP 页面上的邮件服务器名称、发件人地址、收

14、件人地址、主题和消息的内容 发送邮件,Send Mail Servlet 2-2,演示:示例 2,public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); String smtpServer=request.getParameter(txtserver); String e

15、mailTo=request.getParameter(txtto); String fromEmail=request.getParameter(txtfrom); String subject=request.getParameter(txtsubject); String body=request.getParameter(txtmessage); try Properties props=new Properties(); props.put(mail.transport.protocol,smtp); props.put(mail.smtp.host,smtpServer); pro

16、ps.put(mail.smtp.port,25); Session mailsession=Session.getInstance(props); Message msg=new MimeMessage(mailsession); msg.setFrom(new InternetAddress(fromEmail); msg.setRecipients(Message.RecipientType.TO,InternetAddres s.parse(emailTo); msg.setSentDate(new Date(); msg.setSubject(subject); msg.setText(body); Transport.send(msg); msg.writeTo(System.out); out.println(“邮件已成功发送到 + ema

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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