基于JavaMail的电子邮件系统的设计与实现
- 格式:doc
- 大小:2.22 MB
- 文档页数:43
基于JavaMail的邮件系统的概要设计一邮件系统各功能概述1.1 JavaMail简介JavaMail API是Java EE的一部分,是Java SE的可选组件。
该组件提供了一个平台无关、协议独立的框架,预置了一些最常用的邮件传送协议的实现方法,通过一组API来模拟邮件系统。
提供Email的发送和接收服务。
它借鉴了IMAP、MAPI、CMC等消息系统API的设计,采用面向对象的思想将接2008年4月18日收到接口与实现相分离,支持存取方式、消息格式、消息传送协议不同的邮件消息系统,可以简便的为应用程序增加Email支持,广泛应用于构件邮件和消息应用系统JavaMail API封装了电子邮件功能中:邮件对象、发送、身份认证、接收等功能。
其核心类有:Session、Authenticator Address Message Transport、Store、Folder等。
其中Session是邮件操作的接口,用于建立了基本的邮件会话;Authenticator类提供访问邮件服务器所需的认证信息;Message描述基本的邮件消息,是收发邮件的操作单位;Transport是发送邮件时所用的协议,通常是SMTP;Store模拟了消息数据库及其内部存储消息的目录的访问协议;Folder用于描述消息数据库中的目录结构。
一个Session会有多个Trans—port,每个Store包含一系列的Folder和Message,每个Folder又包含一系列的Folder和Message。
借助这些类,就可以构建各种典型的邮件应用。
JavaMail的最新实现是1.4版本,可以支持POP3、IMAP4、SMTP协议。
由于JavaMail还需要JavaBeans Activation Framework(JAF)框架的支持,1.2 设计目标公用邮箱是和外单位交互的主要渠道,用户获取和提交一些重要数据和文件,也是与本单位其它部门进行业务的信息交换的重要渠道。
1.邮件1.1 邮件组成部分如果是新邮件就获取,并解析它;邮件是由邮件头和邮件体组成,在邮件头中主要包含了收件人、发件人、主题等等基础信息。
而邮件体中就包括了邮件的正文和附件等内容信息。
下图就是pop3协议下,邮件的大致内容。
1.2 发送邮件(带附件、正文带图片)QQ邮箱为例:需要QQ账号和QQ登录第三方客户端时,密码框的“授权码”(相当于密码)授权码如下获取:代码如下:public class JavaMailboxAttachment {private MimeMessage message;private Session session;private String mailHost = "";private String mailAuth = "";private String mailPort = "";private String sender_username = "";private String sender_password = "";//定义一个Properties 用于存放信息private Properties properties = new Properties();//-------------------------------发信箱---------------------------------------------public JavaMailboxAttachment(String email_type) {try {properties.put("mail.smtp.host",""); //发送邮件服务器//端口号,QQ邮箱给出了两个端口,但是另一个我一直使用不了,所以就给出这一个587properties.put("mail.smtp.port", "587"); //发送邮件端口号properties.put("mail.smtp.auth", "true");// 此处填写你的账号properties.put("er", "xxxxxxxxx@");// 此处的密码就是前面说的16位STMP授权码properties.put("mail.password", "xxxxxxxxxxxxxxxx");this.mailHost = properties.getProperty("mail.smtp.host");this.mailAuth = properties.getProperty("mail.smtp.auth");this.mailPort = properties.getProperty("mail.smtp.port");this.sender_username = properties.getProperty("er");this.sender_password = properties.getProperty("mail.password");} catch (Exception e) {e.printStackTrace();}// 构建授权信息,用于进行SMTP进行身份验证Authenticator authenticator = new Authenticator() {protected PasswordAuthentication getPasswordAuthentication() {// 用户名、密码String userName = properties.getProperty("er");String password = properties.getProperty("mail.password");return new PasswordAuthentication(userName, password);}};session = Session.getInstance(properties,authenticator); //用户验证message = new MimeMessage(session); //将验证成功的session信息,创建一个message 对象。
摘要随着互联网的快速发展,网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐.目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有Netmeeting、腾讯QQ、MSN-Messager等等。
该系统开发主要包括一个网络聊天服务器程序和一个网络聊天客户程序两个方面。
前者通过Socket套接字建立服务器,服务器能读取、转发客户端发来信息,并能刷新用户列表。
后者通过与服务器建立连接,来进行客户端与客户端的信息交流。
其中用到了局域网通信机制的原理,通过直接继承Thread类来建立多线程。
开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)、网络编程的设计方法等。
在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。
经过分析这些情况,该局域网聊天工具采用Eclipse为基本开发环境和java 语言进行编写,首先可在短时间内建立系统应用原型,然后,对初始原型系统进行不断修正和改进,直到形成可行系统关键词:局域网聊天 socket javaAbstractAlong with the fast development of Internet,the network chating tool has already become one kind of important communication tools and received more and more web cams favor. At present, many extremely good chating tools have appeared . for example,Netmeeting, QQ,MSN—Messager and so on. This system development mainly includes two aspects of the server procedure of the network chat and the customer procedure of the network chat。
高可用的电子邮箱系统设计与实现一、引言电子邮件系统在现代社会中起着越来越重要的作用,无论是个人还是企业都会使用邮件进行日常的沟通和交流。
因此,保证电子邮件系统的高可用性对于保障个人和企业的正常运作是非常必要的。
高可用性是指即使在设备故障、网络中断等突发情况下,电子邮件系统仍能够正常地工作。
本文将围绕这一主题,探讨如何设计和实现高可用的电子邮箱系统。
二、基础设计首先,我们需要考虑的是电子邮箱系统的基础设计,也即如何实现邮件的传输、存储和检索。
在设计邮件传输系统时,我们可以采用集群的方式,将邮件服务器分布在多台物理服务器上。
这种方式可以提高整个系统的承载能力,防止单一服务器崩溃导致系统瘫痪。
同时我们可以采用邮件协议中的IMAP和POP协议来进行邮件的收发。
对于存储和检索,我们可以选择使用关系型数据库或者NoSQL 数据库。
关系型数据库一般使用MySQL或Oracle等,而NoSQL 数据库可以使用MongoDB或Redis等。
这些数据库都支持分布式存储,可以将数据存储在多台设备上,保证数据的可靠性和可扩展性。
三、负载均衡为了提高系统的可用性,我们需要保证系统的负载均衡。
负载均衡是指将用户请求均匀地分配到多个服务器上,防止单一服务器过载而导致系统崩溃。
负载均衡可以通过硬件设备(如F5)或者软件设备(如Nginx、HAProxy等)来实现。
负载均衡的实现过程中,我们需要考虑多个因素。
首先是会话保持,即将用户请求分配至同一台服务器上,保证用户在同一会话中的数据不会被中断。
其次是健康检查,即对服务器进行定期检查,将不可用的服务器从负载均衡中剔除。
此外,还需要考虑服务器的加权和调度算法,提高系统的灵活性和可用性。
四、容错与自动故障转移容错是指系统能够在硬件或软件故障发生时仍能够继续工作,保证系统的稳定性。
实现容错的方式有很多种,其中包括双机热备、故障转移、冗余等。
在电子邮箱系统中,我们可以通过实现自动故障转移来保证系统的高可用性。
基于Javamail的邮件收发系统使用说明书基于Javamail的邮件收发系统是一款简单、方便、快捷的邮件系统。
它能实现邮件的接收与发送,并能完成附件的传输,具有较好的人机交互性,易于使用。
开发环境:JDK1.6 + Windows平台开发技术:Javamail开发工具:Eclipse3.4运行环境:PC上需安装JDK1.6,且正确配置环境变量。
系统基本功能如下:(1) 收取并显示POP3邮件服务器上指定邮箱的邮件;(2) 使用SMTP邮件服务器发送邮件;(3) 邮件附件的发送与接受;(4) 删除邮件;具体操作步骤如下:1、打开javamailsystem文件夹,找到javamail.jar可执行文件,双击该执行文件,即可打开Javamail邮件收发系统客户端软件。
进入该系统后,首先选择“POP3/SMTP设置”按钮,对收发邮件所需的邮件服务器主机、收发邮件账号及密码信息进行设置。
图1-1邮件客户端主界面设置举例如下:POP3属性POP3服务器:(或或)Email地址:shinning191@(ceshi2009ok@、qiufeng006@)账户名:shinning191(ceshi2009ok、qiufeng006)密码:6857191(123456、28912786)SMTP属性SMTP服务器:(或或)Email地址:shinning191@(ceshi2009ok@\qiufeng006@)账户名:shinning191(ceshi2009ok、qiufeng006)密码:6857191(123456、28912786)在对SMTP/POP3进行设置的时候,由于系统的缺陷,需要先对POP3进行属性设置,然后确定关闭该对话框;重新打开属性设置对话框,对SMTP进行属性设置,确定。
这样便可以正确设置完邮件服务器的属性。
此系统对上述设置的信息具有存储功能,在这里,我们采用属性文件的形式存储SMT P 和POP3邮件服务器属性设置。
基于Java的办公自动化系统1. 简介办公自动化系统是指利用计算机技术和网络技术,对办公过程进行自动化管理和优化,从而提高办公效率和信息管理能力的系统。
基于Java的办公自动化系统具有跨平台性、高可靠性和灵活性等优势,因此在企业和机构中得到广泛应用。
本文将介绍基于Java的办公自动化系统的设计和实现过程,并提供详细的技术说明和操作方法。
2. 系统设计基于Java的办公自动化系统主要包含以下几个模块:用户管理模块用于管理系统中的用户信息,包括用户注册、登录、权限控制等功能。
该模块采用基于角色的访问控制(RBAC)机制,可以根据用户角色来限制用户对系统功能的访问权限。
2.2 日程管理模块日程管理模块用于管理用户的日程安排和会议预约等功能。
用户可以在系统中创建日程、设置提醒,还可以邀请其他用户参加会议并发送邀请邮件。
2.3 文档管理模块文档管理模块用于管理用户的文档和文件,包括上传、下载、共享和版本控制等功能。
用户可以在系统中创建、编辑和删除文档,还可以设置文档的权限,控制其他用户对文档的访问权限。
任务管理模块用于管理用户的任务和工作流程,包括任务分配、进度跟踪和任务提醒等功能。
用户可以在系统中创建任务、指派任务给其他用户,并跟踪任务的完成情况。
3. 系统实现基于Java的办公自动化系统采用分层架构进行设计和实现,主要包括以下几个组件:3.1 前端界面前端界面使用HTML、CSS和JavaScript等前端技术进行开发,通过浏览器与用户进行交互。
前端界面采用响应式设计,可以适配不同的设备和屏幕大小。
后端服务器使用Java语言进行开发,采用Spring框架进行模块化开发和依赖注入。
服务器提供RESTful API接口,负责处理前端界面的请求和响应。
3.3 数据库系统使用关系型数据库(如MySQL)进行数据存储,通过JDBC进行数据访问和操作。
数据库设计采用范式化和关系图设计原则,保证数据的一致性和完整性。
信息科学与工程学院09 届本科生毕业设计(论文)任务书学院信息科学与工程学院专业计算机科学与技术(师范)班级学号学生姓名指导教师一、论文题目基于Javamail的邮件收发系统二、内容和要求1.总体目标及性能(参数)要求(1)系统功能基本完善。
(2)系统具有良好的用户界面。
(3)系统具有较好的人机交互性、易于使用。
(4)系统可靠、稳定,具有一定的应用价值。
2.研究内容及拟采用的技术路线●研究内容:(1)邮件服务器的工作原理。
(2)DNS服务器的工作原理。
(3)SMTP、POP3、MIME协议。
(4)设计并实现基于Javamail的邮件收发系统,要求系统具有邮件接收、发送等基本功能。
●采用的技术路线:(1)开发工具采用Java+JavaMail API。
(2)数据库采用MySQL或SQL Server。
3.参考文献(10篇以上)[1] Java邮件开发详解。
张孝祥。
电子工业出版社,2007。
[2] Java高级程序设计。
王路群主编。
中国水利水电出版社, 2006 。
[3] Java课程设计。
黄明, 梁旭, 周绍斌编著。
电子工业出版社, 2006。
[4] Java开发与应用教程。
王吴迪, 赵枫朝等编著。
电子工业出版社, 2006。
[5] Java程序设计大学教程。
刘艺等编著。
机械工业出版社, 2006。
[6] Java数据库高级编程宝典。
陈天河编著。
电子工业出版社, 2005。
[7] Java程序设计与应用开发。
於东军等编著。
清华大学出版社, 2005。
[8] Java语言程序设计实训。
赵海廷主编。
武汉大学出版社, 2005。
[9] Java program design。
Cohoon, James P.,Davidson, Jack W。
McGraw-Hill Higher Education, 2004。
[10] Thinking in Java。
Eckel, Bruce。
Prentice Hall, c2000。
电子邮箱系统的设计与实现一、引言二、设计概述1.系统结构2.数据存储邮件数据需要存储在服务器端,通常采用数据库来管理。
数据库可以根据实际需要选择合适的存储方案,如MySQL、MongoDB等。
3.用户认证与权限管理4.邮件传输协议5.邮件收发与管理用户可以通过客户端软件或Web界面来发送和接收邮件,并进行邮件管理操作。
常见的邮件操作包括创建新邮件、查看已收邮件、删除邮件、标记为已读等。
三、关键功能和实现1.用户注册与登录2.邮件编写与发送3.邮件接收和查看服务器收到用户的邮件后,将邮件存储在数据库中。
用户可以通过客户端软件或Web界面来接收和查看邮件。
未读邮件会自动标识,用户可以选择标记为已读或删除邮件。
4.邮件管理和组织四、系统性能优化1.分布式架构2.缓存优化可以使用缓存技术来提高系统的读取速度。
常见的缓存技术包括Redis和Memcached,在数据库查询频繁的场景下可以有效减少IO压力。
3.异步处理可以将邮件的发送和接收等操作进行异步处理,提高系统的响应速度。
可以使用消息队列来实现异步处理,如RabbitMQ、ActiveMQ等。
五、系统安全设计1.数据加密邮件在传输和存储过程中应该进行数据加密,保护邮件内容的安全。
可以使用SSL/TLS协议对邮件进行传输加密,采用加密算法对邮件数据库进行加密。
2.防止垃圾邮件为了减少垃圾邮件的影响,可以对用户发送的邮件进行过滤。
可以使用机器学习算法对邮件进行分类,将垃圾邮件自动移到垃圾邮件文件夹中。
3.账户安全为了防止账户被盗用,可以设置登录限制和密码策略。
例如,可以设置登录失败次数限制,密码必须包含大小写字母和数字等。
六、总结。
利⽤JavaGUI和javamail实现的email客户端摘要本系统是⽤ java 语⾔实现的⼀个 Email客户端,主要⽤到 java GUI 图形界⾯设计和 java mail ⼯具包,它适⽤于所有⽤户,⽆管理员设置,可以实现⽹络邮箱的邮件发送和邮件收取的基本功能,还具有通讯录的存储功能,针对⽤户的需求,本Email 客户端具有以下两⼤模块:1.基本设置模块;此模块主要包括⽤户设置和邮箱设置两⼤内容:1.1 ⽤户设置:主要设置⽤户的⼀些基本信息,如⽤户名,⽤户密码等设置1.2 邮箱设置:主要设置邮箱服务器,SMTP,POP3等2. Email功能模块;此模块根据⼤众⽤户的需求划分了以下三个部分:2.1收取邮件功能;2.2发送邮件功能;2.3通讯录功能;该系统的开发过程为:1.Email客户端的需求分析;2.Email客户端的系统分析;3.Email客户端的功能模块划分划分;4.Email客户端的数据库设计;5.Email客户端的界⾯设计;6.Email客户端的功能模块设计及代码实现关键字:java,java GUI,java mailAbstractThis email client system is developed in java language using java GUI and java mail tools .It can be used by any users who want to use it . The system is not including manager settings and it can finish the function of sending and accepting mails in web mail system, it can store user information a function like a address book in the web. The systems need to achieve the overall function to run two parts, as follows1. The basic settingsTwo parts are followed:1.1 Maintenance System Administrators basic information;1.2 Student response functions;2. Email functionsThree function will be available2.1 Sending mails2.2 Receiving mails2.3 Address bookThe system development process :1. Email client needs analysis;2. Email client system analysis;3. Email client function modules partition;4. Email client design;5. Email client interface design;6. Email client functional design and code modules to achieveKey word:java , java GUI ,java mail⽬录前⾔ (4)第1章系统概述及系统分析-------------------------------------------- 51.1系统概述 (5)1.1.1基本设置模块--------------------------------------------------- 51.1.2 Email功能模块------------------------------------------------- 5 1.2 需求分析 (5) 1.3 可⾏性分析 (5)1.3.1技术可⾏性分析------------------------------------------------- 51.3.2环境可⾏性分析------------------------------------------------- 61.3.3经济可⾏性分析------------------------------------------------- 6第2章系统开发基本介绍---------------------------------------------- 72.1 选题背景与⽬的--------------------------------------------------- 72 .2 系统开发⼯具---------------------------------------------------- 72 .3 系统开发环境---------------------------------------------------- 72 .4开发技术概述---------------------------------------------------- 72 .4.1 J2EE概述----------------------------------------------------- 72 .4.2 Java GUI ------------------------------------------------------ 82 .4.3 Java mail ----------------------------------------------------- 9第3章系统总体设计------------------------------------------------- 103 .1 系统功能模块划分----------------------------------------------- 103 .2系统具体功能模块基本介绍--------------------------------------- 103 .2.1 发件箱------------------------------------------------------- 103 .2.2 收件箱------------------------------------------------------- 113 .2.3 通讯录------------------------------------------------------- 11第4章系统详细设计及系统实现--------------------------------------- 134 .1 章节内容总体介绍----------------------------------------------- 134 .2各模块功能详细设计--------------------------------------------- 134 .2.1 发送邮件功能的实现------------------------------------------- 134 .2.1.1 发送普通邮件功能------------------------------------------- 134 .2.1.2 邮件附件的功能实现----------------------------------------- 194 .2.2 收取邮件功能的实现------------------------------------------- 204 .2.3 通讯录功能的实现--------------------------------------------- 284 .2.4其他功能----------------------------------------------------- 314 .2.4.1 其他界⾯实现与通讯录的连接功能----------------------------- 314 .2.4.2 邮件未存储对⽤户提⽰功能----------------------------------- 314 .2.4.3 复制、删除邮件功能----------------------------------------- 324 .2.4.4 ⽤户信息设置功能------------------------------------------- 34结束语-------------------------------------------------------------- 36谢辞 (37)参考⽂献 (37)前⾔邮件系统是⼀套单独的系统,要有⾃⼰的服务器,在邮件系统中可以设多个域,每个域中可以设多个⽤户,⽐如说我买了anymacro 或快客的邮件系统,可以进⾏多项设置.它的数据是放在⾃⼰的服务器上.随着信息技术的提⾼,⽹络的普及于发展,越来越多的⽹络⼯具随之产⽣出来,⽹络邮箱就是其中之⼀,它可以通过⽹络来实现⼈们之间的通信,可以给⼈们的⼯作带来极⼤的⽅便,同时也缩短了⼈与⼈之间的距离,使⼈们在通信上需要花费的时间更短。
毕业设计(论文)( 20 届)论文(设计)题目基于Javamail的邮件收发系统作者二级学院、专业班级指导教师(职称)论文字数论文完成时间20年月日基于JavaMail的邮件收发系统摘要电子邮件在当今社会中扮演了一个很重要的角色。
越来越多的人在使用它。
而且用它的人数势必会继续增加。
本文介绍了Javamail邮件收发系统的开发背景,对国内外现有的多种成熟的电子邮件系统进行分析和比较,总结出它们的优缺点,对Javamail技术进行深入研究,提出并设计实现了基于Javamail的邮件收发系统。
本系统利用SMTP协议和POP协议从底层进行开发,利用JavaMail API为收发邮件提供与协议无关的访问。
SMTP(简单邮件传输协议)是专门用来发送邮件的。
POP (邮局协议)是专门用于接收邮件的。
JavaMail API是一种可选的、能用于读取、编写和发送电子消息的标准扩展包。
本文主要可分为四个部分。
第一部分介绍了Javamail邮件系统的意义和现状。
第二部分具体介绍了几种相关协议和Javamail API。
第三部分主要介绍了系统的开发工具JA V A语言、Eclipse及其安装过程与配置方法。
第四部分详细阐述了Javamail邮件收发系统的实现过程。
关键词:SMTP,POP,JA V AMAIL,邮件收发MAIL SYSTEM BASED ON JAVAMAILABSTRACTE-Mail play a very important role in modern times. More and more people are using it, and the number of it will larger and larger. This paper introduced the javamail system's development background, analyzed and compared some existing maturity Email system at home and abroad , summarized their advantages and disadvantages, studied deeply with the javamail technology , proposed and designed out the mail system based on javamail. This system used POP protocol and SMTP protocol to develop from the bottom, used JavaMail API to provide the visit which has nothing to do with the agreement for send and receive email. SMTP (Simple Mail Transfer Protocol) is designed to send a message. POP (Post Office Protocol) is designed to receive mail. JavaMail API is an standard expansion package which is optional, can be used to read, write and send electronic messages.This paper can be divided into four parts. The first part introduced javamail email system's significance and status. The second part introduced several related agreements and JavaMail API. The third part mainly introduced system's development tools JA V A language , Eclipse and their installation process and configuration method. The fourth part detailed javamail email system's realization process.Keywords:SMTP, POP, JA V AMAIL, Email to send and receive目录第一章绪论 (1)1.1电子邮件介绍 (1)1.2研究意义 (1)1.3研究现状 (3)第二章相关邮件协议和JavaMail API (5)2.1相关邮件协议 (5)2.2JavaMail API (6)2.2.1 JavaMail API简介 (6)2.2.2 JavaMail API核心类 (6)2.3.3 JavaMail API的应用 (8)第三章应用系统开发工具 (10)3.1Java开发语言简介 (11)3.2开发工具Eclipse (12)3.3开发软件的安装 (12)3.3.1 JA V A环境的安装与配置 (12)3.3.2 Eclipse的安装 (14)3.3.3 javamail的安装 (15)第四章JavaMail系统的实现 (16)4.1环境配置与界面搭建 (16)4.2设置邮件服务器参数的实现 (16)4.3创建与发送邮件功能的实现 (17)4.3.1 装载邮件服务器属性, 并与其建立连接 (17)4.3.2 构建邮件 (18)4.3.3 创建Transport对象发送邮件 (19)4.4接收邮件功能的实现 (20)4.4.1 获取服务器信息 (20)4.4.2 建立通信连接 (20)4.4.3显示邮件 (20)4.5删除邮件功能的实现 (22)第五章结语 (23)参考文献 (24)致谢 (25)第一章绪论本文是一项基于JavaMail的邮件系统的综合性研究,使用Sun公司提供的JavaMail API实现电子邮件的发送、电子邮件的接收等等功能。
Java实现⽹易企业邮箱发送邮件最近项⽬需要⽤⽹易企业邮箱发送邮件,特意来将实现过程记录⼀下:maven导⼊jar包1 <!-- javax.mai 核⼼包 -->2 <dependency>3 <groupId>javax.activation</groupId>4 <artifactId>activation</artifactId>5 <version>1.1</version>6 </dependency>7 <dependency>8 <groupId>javax.mail</groupId>9 <artifactId>mail</artifactId>10 <version>1.4.5</version>11 </dependency>java 使⽤ javax.mail 实现企业邮箱邮件发送1 import java.util.Properties;2 import javax.mail.internet.InternetAddress;3 import javax.mail.internet.MimeMessage;4 import javax.mail.internet.MimeUtility;5 import org.apache.log4j.Logger;6 import org.springframework.mail.javamail.JavaMailSenderImpl;7 import org.springframework.mail.javamail.MimeMessageHelper;8 import com.sun.mail.util.MailSSLSocketFactory;910public class SendMailSmtp {11private static Logger log = Logger.getLogger(SendTemplateSMS.class);1219public static void sendHtmlMail() {20try{21 String from = "邮箱账号名";//发件⼈昵称展⽰ *22 String[] to ={"接收邮箱1","接收邮箱2"};//接收邮箱23 String subject = "邮件主题";//邮件主题 *24 String text = "邮件内容";25 String host = "";//163企业邮箱smtp *26 String username = "发件的企业邮箱";//企业邮箱 *27 String password= "发件的企业邮箱的授权码";//企业邮箱密码 *2829//设置服务器验证信息30 Properties prop = new Properties();31 prop.setProperty("mail.smtp.auth", "true");32 prop.setProperty("mail.smtp.timeout", "994"); // 加密端⼝(ssl) 可通过 https:///help/client-profile.html 进⾏查询3334 MailSSLSocketFactory sf = new MailSSLSocketFactory();// SSL加密35 sf.setTrustAllHosts(true); // 设置信任所有的主机36 prop.put("mail.smtp.ssl.enable", "true");37 prop.put("mail.smtp.ssl.socketFactory", sf);3839//设置邮件内容40 JavaMailSenderImpl javaMailSend = new JavaMailSenderImpl();41 MimeMessage message = javaMailSend.createMimeMessage();42 MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8");43 String nick = MimeUtility.encodeText(from);//设置昵称44 messageHelper.setFrom(new InternetAddress(nick + " <"+username+">"));// 邮件发送者45 messageHelper.setTo(to);46 messageHelper.setSubject(subject);47 messageHelper.setText(text, true);4849//设置邮件服务器登录信息50 javaMailSend.setHost(host);51 javaMailSend.setUsername(username);52 javaMailSend.setPassword(password);53 javaMailSend.setJavaMailProperties(prop);54 ("maillText:" + text);55 javaMailSend.send(message);56 } catch (Exception e) {57// TODO Auto-generated catch block58 log.error(e);59 e.printStackTrace();60 }61 }6263 }注意:1.邮箱密码是开通pop3/smtp服务时所给的授权码,⽽不是你注册邮箱时的真实密码2.检查⾃⼰邮箱是否开通pop3/smtp服务。
第25卷第3期 计算机应用与软件Vo l 25No .32008年3月 Co m puter Applicati o ns and Soft w are M ar .2008使用JavaM ail/J AF 开发中文邮件系统的关键技术研究袁梅冷 聂 哲(深圳职业技术学院软件工程系 广东深圳518055)收稿日期:2006-04-13。
袁梅冷,讲师,主研领域:J 2EE 技术,电子商务等。
摘 要 Java M ail 提供了对邮件收发核心流程很好的支持,但在开发实用邮件系统过程中,必然会遇到Java M a il 本身并不支持的如嵌套邮件内容解释、M I M E 类型数据处理框架结构、中文乱码等技术难题。
在全面研究基于Java 技术的邮件系统开发的基础上,给出了通用的解决方案和实现要点。
关键词Java M ail J AF 中文乱码 邮件系统RES EARCH ON THE KEY TEC HNOLOG I ES IN THE DEVELOPM ENTOF CH INES E E MA IL S YSTEM BASED ON J AVAMA IL AND J AFYuanM eileng N ie Zhe(D e part m ent of S oft w are Engineeri ng,Colle g e of Sh e nzh e n P ol y t echnic ,Sh e nzhen 518055,Guangdong,China )Abstrac t Java M a il facilita tes the deve l op m en t o f E m ail Sy stem .H ow eve r ,during the develop m ent o f practi ca l E m a il syste m,so m e proble m s such as t he pars i ng o f nesti ng e m a il content ,t he process fra m ework o f data o fM I M E type ,and the unreadab le Ch i nese cha rs can not be supported by Java M a i.l G enera l so l utions to t hese prob l em s are presented ,and the key techno l og i es are prov i ded .K eywordsJava M ail JavaBeans A cti vation Fra m ewo rk(J A F) U nreadable ch i nese cha rs E m ail syste m0 引 言Java 语言作为一种强大的网络编程语言,为支持邮件系统的开发推出了Java M ail 开发包,极大地简化了基于Java 技术的邮件系统的开发。
Java实现Email发送邮件(可发送html内容,样式可编辑)⼀.电⼦邮件协议:SMTP 简单邮件传输SMTP是Simple Mail Transfer Protocol的简称,即简单邮件传输协议。
该协议定义了邮件客户端软件和SMTP服务器之间,以及两台SMTP服务器之间的通信规则。
在Java Mail API中,基于Java Mail的程序将与本公司或Internet服务提供商(ISP)的SMTP服务器通信,该SMTP服务器将会把消息转发给⽤于接收消息的SMTP服务器,最后⽤户可通过POP或IMAP协议获取该消息。
由于⽀持⾝份验证,所以不需要SMTP服务器是⼀种开放的转发器,但需要确保SMTP服务器配置正确。
Java Mail API中没有集成⽤于处理配置服务器以转发消息或添加/删除电⼦邮件账户等功能。
POP3邮局协议POP3是Post Office Protocol 3的简称,即邮局协议第3版,该协议是在RFC 1939中定义的。
它是Internet电⼦邮件的第⼀个离线协议标准,也就是说,POP3是⼀个简单⽽实⽤的邮件信息传输协议。
⽬前在Internet上,⼤多数⼈都采⽤POP3来接收邮件。
POP3为每个⽤户的每个邮箱提供⽀持,但是POP3并不⽀持查看邮件信息及统计新邮件的功能,因此,在使⽤Java Mail API时,如果想获取这些信息,需要⾃⼰进⾏计算。
IMAP 接收邮件协议IMA P的含义是Internet消息访问协议,当前版本是第4版,也称作IMAP4,该协议是在RFC 2060中定义的。
IMAP是接收消息的更加⾼级协议。
使⽤IMAP时,所⽤邮件服务器必须⽀持该协议,但是如果所有邮件服务器只⽀持该协议,并不能使⽤全部IMAP协议,为了能够⽀持全部IMAP协议,所⽤邮件服务器还应该⽀持POP协议。
在Java Mail程序通过IMAP协议可以在服务器上拥有包括多个⽂件夹的⽤户,并且这些⽂件夹可以被多个⽤户共享。
XXX本科毕业设计基于JavaMail的电子邮件系统的设计与实现邮件系统的设计与实现摘要在过去的几十年里,人们主要通过书信与相隔较远的人相互交流情感与思想。
而当今世界人们更多的是使用电子邮件,与传统的书信相比,电子邮件具有使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻等优点。
本文设计并实现了一套邮件系统。
首先研究了与系统相关的技术,其次分析了系统功能、性能和数据的需求,设计了系统构架、系统功能和数据库,并实现了系统的主要功能。
本文的系统构架是基于浏览器/服务器的三层架构,使用Java 和S2SH框架开发而成。
在数据存储上使用了免费、开源、跨平台的MySQL数据库,邮件服务器使用了免费、开源的支持SMAP协议发送电子邮件和IMAP协议接收电子邮件的Apache James邮件服务器。
通过系统设计的用户注册和登陆、用户信息管理、邮件管理等模块,对邮件系统进行实现。
本系统具有功能丰富、结构清晰、运行效率高、数据访问效率高等优异性能,后期易于维护,可扩展性行比较好。
本系统还存在以下几个方面的工作尚需完善,即增加联系人管理模块,增强系统的稳定性,增强系统的安全性。
关键词:电子邮件,James邮件服务器,MySQL,Java,S2SH邮件系统的设计与实现Mail System Design and ImplementationAbstractIn the past few decades, people mainly exchange ideas with each other by letters. But today people are communicating with each other via e-mail, compared with the letter, e-mail correspondence with easy to use, fast delivery, low-cost, easy to store, the world's smooth and so on.This article has designed and implemented a mail system. First , study technologies related to the system. Then , analyses the system functions, performance and the data requirements, and also design the system architecture, system functions and database, and finally the main functions of the system come into shap . The system architecture is developed basing on a three-tier browser / server architecture, using Java and S2SH framework. The Data storage take use of free, open-source, cross-platform MySQL database. The mail server use the free, open-source Apache James mail server that supports SMAP protocol to send e-mails and the IMAP protocol to receive e-mails. Develop the E-mail system by different module of the system design, including user registration and login, the user information management, mail management.This system has the feature-rich, clear structure, high efficiency, excellent performance of high efficiency of data access, and it is not only easy to maintain in latter stages but also outstanding in it`s scalable sexual activity.There still exists problems that need farther perfection in The system from following aspects, like increasing the contact management module, enhancing the stability and security of the system.Keywords: E-mail, James mail server, MySQL, Java, S2SHXXX本科毕业设计目录1 绪论 (1)1.1 课题研发背景 (1)1.2 选题的意义 (1)1.3 发展现状 (1)1.4 本文结构安排 (2)2 技术与工具介绍 (3)2.1 框架简介 (3)2.2 开发工具简介 (4)2.3 电子邮件简介 (6)2.4 小结 (7)3 需求分析 (8)3.1 实际业务操作流程 (8)3.2 系统设计的目标 (8)3.3 系统需求分析 (9)3.3.1 功能需求分析 (9)3.3.2 性能需求分析 (10)3.3.3 数据库需求分析 (11)3.4小结 (11)4 总体设计 (12)4.1 数据库的设计 (12)4.1.1 概念结构设计 (12)4.1.2 逻辑结构设计 (13)4.2 小结 (15)5 详细设计与实现 (16)5.1 系统体系结构设计 (16)5.2 系统模块设计 (17)5.2.1 用户登录邮件系统设计 (17)5.2.2 注册新用户信息的设计 (18)5.2.3 用户找回密码信息设计 (18)5.2.4 用户发送电子邮件设计 (20)5.2.5 用户查看电子邮件设计 (21)邮件系统的设计与实现5.3 系统模块的实现 (22)5.3.1 用户登录邮件系统的实现 (22)5.3.2 注册新用户的实现 (23)5.3.3 用户找回密码的实现 (24)5.3.4 用户发送电子邮件的实现 (26)5.3.5 用户查看电子邮件的实现 (27)5.4 小结 (28)6 测试 (29)6.1 测试环境 (29)6.2 功能测试 (29)6.3 用户界面测试 (30)6.4 单元测试 (31)6.5 小结 (31)7 结束语 (32)7.1总结 (32)7.2展望 (32)附录 (33)参考文献 (38)致谢 (39)XXX本科毕业设计1 绪论1.1 课题研发背景电子邮件(简称E-mai1)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。
它是全球多种网络上使用最普遍的一项服务。
这种非交互式的通信,加速了信息的交流及数据传送。
通过连接全世界的Internet,实现各类信号的传送、接收、存贮等处理,将邮件送到世界的各个角落。
到目前为止,可以说电子邮件是Internet资源使用最多的一种服务,E-mai1不只局限于信件的传递,还可用来传递文件、声音及图形、图像等不同类型的信息。
与传统的信件相比,电子邮件更具有传统信件没有的优势,传统的邮件受到时间、地点等各种限制,而电子邮件却不受这些限制。
正是由于电子邮件的使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻,使得电子邮件被广泛地应用,它使人们的交流方式得到了极大的改变。
另外,电子邮件还可以进行一对多的邮件传递,同一邮件可以一次发送给许多人。
最重要的是,电子邮件是整个网络间以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极大地满足了大量存在的人与人之间的通信需求。
现在随着互联网和计算机的普及[1],电子邮件将会成为人们越来越受欢迎的交流方式。
1.2 选题的意义当今流行的邮件系统如Lotus Notes和Exchange 是非常强大的商业软件[2]。
但这些系统包含的协作功能和每客户端得许可证费用使它们的整体成本急剧上升。
而事实上,很多使用这些系统的公司仅仅需要其中的邮件服务器基本功能,因此对于这些企业来说花重金来购买这些邮件系统还不如花少量的钱去重新开发一款功能简单的邮件系统。
所以开发一款简单易用的,使用户容易上手的电子邮件系统是非常有必要的。
对于大型的企业来说开发一种简单易用的具有电子邮件基本功能的电子邮件系统,不仅能够提高企业的生产效率而且能够降低人与人之间的沟通成本,使企业能够更好的发展。
1.3 发展现状国内很多企事业单位都有自己的邮件服务系统,免费邮箱有163、新浪等。
用户对电子邮件安全性、可靠性及功能上的要求也在不断提高。
因此,电子邮件服务供应商必须提供更安全、更可靠、功能更丰富的服务才能发展业务、吸引用户,从众多竞争者中脱颖而出。
如1邮件系统的设计与实现何构建高效、稳定、安全、易用可扩展功能丰富的电子邮件系统是众多电信运营商、ISP (Internet Service Provider)、ICP(Internet Content Provider)共同面临的问题。
邮件服务器供应商致力于以下几个方面提高邮件服务器。
1. 增加多用户模板的功能,以满足不同用户对界面的不同喜好:如提供多种邮件webmail页面风格,提供个性化模板和多风格信纸,用户可以定义邮箱系统界面等。
2. 增加防病毒模块,以增加E-mail系统整体的安全性,利用邮件加密和邮件签名等方式进行邮件传送。
在服务器端使用防病毒模块。
将电子邮件系统向统一信息系统发展,加入最新资讯,多媒体等功能。
反垃圾邮件为用户提供发垃圾邮件的多种过滤器,充分保证用户收到最低限度的垃圾邮件骚扰。
1.4 本文结构安排为了使您在短时间内了解本论文,介绍论文内容如下:第1章主要介绍:论文的课题研发背景、选题的意义、发展现状及论文的结构安排。
第2章主要介绍:本次设计采用的技术、开发工具等。
第3章主要介绍:邮件系统实际业务流程、功能需求、性能需求、数据库需求以及系统设计的目标。
第4章主要介绍:数据库的设计与实现。
第5章主要介绍:系统核心功能模块设计及实现。
第6章主要介绍:系统测试环境、功能测试、用户界面测试以及单元测试。