3.1 纯文本电子邮件的发送
-
Upload
myra-buchanan -
Category
Documents
-
view
79 -
download
1
description
Transcript of 3.1 纯文本电子邮件的发送
2/11
四川机电职业技术学院http://www.scemi.com
3.1 纯文本电子邮件的发送
1 任务引入
1 、任务分组 四个学生组成一个任务组,学生自由组合。每个任务组选出一名组
长,负责本组的任务分工,组长除参加任务外,负责组员间的分工、必须认真、如实填写学生任务执行报告。并上传提交任务报告、程序源代码。
2、布置任务 在校内测试邮件服务器上申请两个邮箱地址,配置 myeclipse 和
tomcat 开发一个基于 web 的纯文本邮件发送程序。该程序能够实现纯文本邮件的发送。并能通过适当的配置,进一步测试,向 163,sina 等邮箱发送邮件。
3/11
四川机电职业技术学院http://www.scemi.com
3.1 纯文本电子邮件的发送
2 任务讨论1 、邮件发送流程
2、任务关键点及要求 ( 1 ) 、客户端(发件人)需要一个 WEB 页面填写邮件发送的收件人地址,发件人地址及邮件内容。如何设计这个 WEB 页面。 ( 2 ) 、如何收集 WEB 页面中的相关数据信息。 ( 3 ) 、如何调用相关的邮件通讯协议封装邮件并发送。
4/11
四川机电职业技术学院http://www.scemi.com
3.1 纯文本电子邮件的发送
3 邮件的基本通讯协议
1、邮件的基本通讯协议( 1 ). SMTP
简单邮件传输协议定义了递送邮件的机制。在本任务中,我们将使用基于 Java-Mail 的程序与学院或者 ISP 的 SMTP 服务器进行通讯。 ( 2 ). POPPOP 是一种邮局协议,目前为第 3 个版本,即众所周知的 POP3 。POP 定义了一种用户如何获得邮件的机制。它规定了每个用户使用一个单独的邮箱。
( 3 ). IMAPIMAP 使用在接收信息的高级协议,目前版本为第 4 版,所以也被称为IMAP4 。需要注意的是在使用 IMAP 时,邮件服务器必须支持该协议。
( 4 ). MIMEMIME 并不是用于传送邮件的协议,它作为多用途邮件的扩展定义了邮件内容的格式:信息格式、附件格式等等。
5/11
四川机电职业技术学院http://www.scemi.com
3.1 纯文本电子邮件的发送
2 serverlet 的运行机制2、 serverlet 的运行机制
(1) serverlet 的运行过程: 客户端发送请求至服务器端; 服务器将请求信息发送至 Servlet ;Servlet 生成响应内容并将其传给 Server 。响应内容动态生成,通常取决于客户端的请求 ;服务器将响应返回给客户端 。
(2) Servlet 生命周期:Server 创建一个 Servlet 的实例 Server 调用 Servlet 的 init() 方法 一个客户端的请求到达 Server Server 创建一个请求对象 Server 创建一个响应对象 Server 激活 Servlet 的 service() 方法,传递请求和响应对象作为参数 service() 方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息
6/11
四川机电职业技术学院http://www.scemi.com
3.1 纯文本电子邮件的发送
4 任务实施1. 启动 myeclipse ,创建 web 项目
2、建立 web 项目,名为 :javamail
3 、引入需要使用的 JAR 文件, mail.jar , cos.jar , activation.jar 。
4 、在 WebRoot 下建立 javamail1.html 文件
5、创建包 com.serverlet
6 、在包下创建 serverlet
7、填写 serverlet 映射的 URL, 自动生成 web.xml 。
8 、 Send.java 代码
7/11
四川机电职业技术学院http://www.scemi.com
3.1 纯文本电子邮件的发送
5 任务点评
在分组实施的情况下,各小组分工明确,任务完成较好。但也发现一些问题。
1、部份小组成员分工不明确,导致任务实施过程中,进展较慢,没有按时完成。
2 .同学们查阅资料的能力不强,遇到问题时,不会查阅相关资料,延误了时间。
3 . 组内成员分工不均衡,有个别同学参与任务较少。
9/11
四川机电职业技术学院http://www.scemi.com
3.1 纯文本电子邮件的发送
6 试一试 练一练2、编写发送邮件的 serverlet public class Send extends HttpServlet { public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("gb2312"); PrintWriter out = response.getWriter(); request.setCharacterEncoding("gb2312"); String from=request.getParameter("from"); String to=request.getParameter("to"); String subject=request.getParameter("subject"); String context=request.getParameter("context"); //确定发送邮件服务器的地址 , 可以是 ip地址,也可以是主机名 String mailserver="scemi"; //设置邮件的传输协议 Properties prop=System.getProperties(); prop.put("mail.smtp.host",mailserver); Session session = Session.getInstance(prop, null); //创建发送信息 Message msg = new MimeMessage(session);
10/11
四川机电职业技术学院http://www.scemi.com
3.1 纯文本电子邮件的发送
6 试一试 练一练2、编写发送邮件的 serverlet public class Send extends HttpServlet { try{ msg.setFrom(new InternetAddress(from));//设置发信人 msg.setRecipient(Message.RecipientType.TO ,
newInternetAddress(to));//设置收信人 msg.setSubject(subject);//设置邮件主题 msg.setSentDate(new Date());//设置收信日期 msg.setText(context);//设置发信内容 Transport.send(msg); //发送 out.print("邮件发送成功 "); } catch (Exception ex) {out.print("邮件发送失败 !");out.print(ex.toString()); } out.flush();out.close(); }}