邮箱发送程序_第1页
邮箱发送程序_第2页
邮箱发送程序_第3页
全文预览已结束

下载本文档

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

文档简介

一 实验目的与要求 1 任务 设计一个邮件发送程序 可以按照要求实现邮件发送器的功能 2 目的 使学生加深对网络通信协议 网络编程接口等基本概念 基本原理的理解 熟 悉各种应用各种网络通信协议和网络编程接口编写网络应用程序的方法 拓宽学生的知识 领域 锻炼学生的实践技能 培养学生科学的工作作风 3 要求 基本功能完善 界面美观 方便易用 操作无误 通过课程设计学生应该学会 使用各种网络通信协议和网络编程接口编写不同类型的网络应用程序 具备初步分析 设 计和开发网络应用软件的能力 具备分析与检查软件错误 解决和处理实验结果的能力 4 学生要求人数 1 人 二 实验内容 邮件发送器遵守基于 C S 模式的 SMTP 协议 它规定了发信人把电子邮件发送到收信人的电 子邮件的全过程 SMTP 客户机与 SMTP 服务器两者在通信过程中如何交换信息 邮件发送 器的主要功能如下 1 能够实现简单的邮件发送功能 能够发送普通的文本内容 2 能够实现带附件的邮件发送功能 三 实验原理 邮件服务器按通讯协议可以划分为两种类型 1 STMP 服务器 是 Simple Mail Transfer Protcol 的简写 用于替用户发送邮件和 接受外面发送给本地用户的邮件 是遵循 SMTP 协议的发送邮件服务器 基于 TCP 服务的 应用层协议 2 POP3 服务器 是 Post Office Protocol 的简写 用于替用户帮助用户读取 SMTP 服 务器接受进来的该用户的邮件 它定义了邮件客户端软件与 POP3 服务器的通讯规 则 3 JavaMail 提供给开发者处理电子邮 j 件相关的编程接口 它是 Sun 发布的用来处理 email 的 API 它可以方便地执行一些常用的邮件传输 4 JavaMail API 按其功能划分通常可分为如下的三类 1 创建和解析内容的 API Message 类是创建和解析邮件核心 API 它的实例对象代表 一封邮件 2 发送邮件的 API Transport 类是发送邮件的核心 API 它的实例对象实现了某个邮 件发送协议的邮件发送对象 例如 SMTP 协议 3 接受邮件的 API Store 类是接受邮件的核心 API 它的是实例实现了邮件接受协议 的邮件接收对象 例如 POP3 协议 5 一些第三方 API 1 Oreilly 的 COS 的上传组件 2 JAF 是一个专用的数据处理框架 它用于封装数据 并为应用程序提供 第 2 6 页 访问和操作数据的接口 JAF 的主要作用在于让 java 应用程序知道如何对一个数据源进行 查看 编辑和打印等操作 对于通过 JAF 封装的数据 应用程序通过 JAF 提供的接口可以完成如下功能 1 访问数据源中的数据 2 获知数据源的数据类型 3 获知可对数据进行的各种操作 4 用户对数据执行某种操作时 自动创建执行该操作的软件部件的实例对象 四 实验内容和步骤 1 Session 定义了一个基本的邮件会话 任何工作都是基于这个 Session 的 Session 对 象需要一个 java util Properties 对象来得到类似 邮件服务器 用户名 密码这样的信 息 Session 的构造函数是私有的 你可以通过 getDefaultInstance 方法来取得一个单一 的可以被共享的默认 session 2 Message 一旦你创建了 Session 对象 那么下面要做的就是创建 message 来发送 Message 是一个 抽象类 在大部分应用中你可以使用它的子类 javax mail internet MimeMessage 可以用如下的方法创建一个 Message MimeMessage message new MimeMessage session 我们注意到 这里需要用 session 对象作为构造函数的参数 一旦你得到了 message 你就可以来设置它的各个部分 parts 设置内容 content 的基本的机制是使用 setContent 方法 message setContent Email Content text plain 设置主题 subject 使用 setSubject 方法 message setSubject Subject 3 Address 当你已经创建 Session 以及 Message 并且已经为 message 填充了内容 那么接下来要做 的就是给你的邮件添加一个地址 Address 就像 Message 一样 Address 也是一个抽 象类 我们可以使用它的一个子类 javax mail internet InternetAddress Address address new InternetAddress 邮件地址 第 3 6 页 你需要为 message 的 from 以及 to 字段创建 address 对象 为了识别发送者 你需要使 用 setFrom 和 setReplyTo 方法 messge setFrom address 如果你的 message 需要显示多个 from 地址 可以使用 addFrom 方法 Address address message addFrom address 为了辨识 message 的收件人 你需要使用 setRecipient 方法 这个方法除了 address 参数之外 还需要一个 Message RecipientType message addRecipient type address Message RecipientType 有几个预先定义好的类型 Message RecipientType TO 收件人 Message RecipientType CC 抄送 Message RecipientType BCC 暗送 message addRecipient Message RecipientType To toAddress message addRecipient Message RecipientType CC ccAddress 4 Authenticator 通过 Authenticator 设置用户名 密码 来访问受保护的资源 这里的资源一般指的是邮 件服务器 Authenticator 也是一个抽象类 你需要自己编写子类已备应用 你需要实现 getPasswordAuthentication 方法 并返回一个 PasswordAuthentication 实例 你必须 在 session 被创建时 注册你的 Authenticator 这样 当需要进行认证是 你的 Authenticator 就可以被得到 Properties props new Properties 设置属性 Authenticator auth new YourAuthenticator Session session Session getDefaultInstance props auth 5 Transport 发送消息最后的一步就是使用 Transport 类 你可以通过两种方法来进行发送 Transport 是一个抽象类 你可以调用它静态的 send 方法来发送 第 4 6 页 Transport send message 或者 你可以为你使用的协议从 session 中取得一个指定的实例 Transport transport

温馨提示

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

评论

0/150

提交评论