用Java做邮件服务器

上传人:m**** 文档编号:430796099 上传时间:2023-10-17 格式:DOC 页数:11 大小:57.01KB
返回 下载 相关 举报
用Java做邮件服务器_第1页
第1页 / 共11页
用Java做邮件服务器_第2页
第2页 / 共11页
用Java做邮件服务器_第3页
第3页 / 共11页
用Java做邮件服务器_第4页
第4页 / 共11页
用Java做邮件服务器_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《用Java做邮件服务器》由会员分享,可在线阅读,更多相关《用Java做邮件服务器(11页珍藏版)》请在金锄头文库上搜索。

1、用Java做邮件服务器【摘 要】 Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。具体来说,它具有如下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、 可移植、高性能、多线程、动态性等。Java始于网络,服务于网络,用Java做的网络程序,随处可见,这里我就不多做介绍了,下面给大家介绍一种用Java实现的GUI界面的邮件收发系统。本文是一篇入门级教程,主要讲了1)利用Eclipse这个优秀的Java IDE中创建应用程序界面;2)利用J2EE的API构建自己的邮件收发系统。要求您对JavaMail和JavaBeans和GUI的一些相关知识。所用到的工具包括Eclip

2、se(是一个JAVA IDE)、j2ee.jar(里面包含了所用的关于mail的API)、jigloo312.zip(提供一个用户可定制GUI的JAVAAPI可到http:/ Protocol)协议,即邮局协议,目前所用的版本是3,所以人们通常称之为POP3,。该协议定义了接收邮件的机制,并规定每个用户只能有一个邮箱的支持。占用端口一般为25;发邮件一般采用SMTP (Simple Mail Transfer Protocol)协议,即简单邮件传输协议,它定义了发送电子邮件的机制,通过它程序将和您的公司或因特网服务供应商的(InternetService Providers,ISPs)SMTP

3、 服务器通信。SMTP 服务器可将消息中转至接收方 SMTP 服务器,以便最终让用户经由 POP 或IMAP 获得。占用端口一般为110;通过程序实现这两个协议,我们就可以构建自己企业的邮件收发系统。【关键字】JavaMail J2EE GUI Eclipse POP SMTP还在为没有一个统一,兼容于任何平台的邮件收发系统而着急吗?不用急,这篇文章可以给您敲开一扇开发适合自己企业业务环境的邮件收发系统的大门!一,开发准备从www.eclipse.org下载Eclipse,我所用的版本为,大家可以下3.0.2或更高;从http:/ -vmG:Javajdkbinjavaw.exe -data

4、d:javadevelop , 以后你在eclipse创建的程序都在d:javadevelop这个目录下了。如果还有其他项目的开发,可以在重新创建一个文件夹和eclipse.exe的快捷方式,重新指定工作区,相当于又做了一个全新的Eclipse环境。二,环境搭建A.1 从桌面打开新建的eclipse快捷方式,新建一个java项目: 输入项目名:javamail,然后NextFinish。 2, 右键点击新建的“javamail”项目,选择“Properties”,选择“Java Build Path”,在“Library”里选择“Add External JARs”,将准备的j2ee.jar文

5、件添加到里面,如图: 好了,所有准备工作都做好了,下面开始开发。三,开始开发A, 发送邮件A.1 在javamail项目里新建一个Package名为“”,然后新建一个“Swing main application”: “Next”输入类名:SendMailGUI “Finish”。A.2利用可拖拽的可视化面板绘制一个发送邮件的GUI界面(界面功夫这里就不垒述了,后面有关界面的制作也都不作详细说明了,本文重点不在与此。有关GUI的知识请参见相关资料。):A.3 邮件能够发送成功,关键在于这个“发送”按钮的动作的编写。A.4 了实现发送的功能,我们新建一个java类:MailSender.java

6、A.5 放着,备用。首先我们要做一个bean,取名为Mail,用来存储邮件的所有信息,之所以这样做,是为了将邮件的信息都封装到一个java类里,更容易管理,思路更明确,同时也是为了让读者比较容易明白这个功能应该怎样实现。在这个mail bean里我们设置了smtpServer、userName、password、from、to、subject、fileName、body以及popServer、popUser、popPassword几个变量,分别用来存储SMTP服务器地址、邮件的用户名、密码、从何而来要到哪去、邮件标题、附件的名字、正文以及POP服务器的地址、用户和其密码。在Eclipse里完成

7、这个bean很简单:新建一个java类,定义上述变量(String smtpServer,userName,password ),然后选中这些变量,击右键SourceGenerate Getters and Setters ,Eclipse会自动生成这些变量的get/set方法。保存这个类,入正题,编写send的功能代码。A.6 逐步讲解MailSender.java:i定义SMTP服务器上的相关信息: String smtpServer =sendMail.getSmtpServer(); String to = sendMail.getTo(); String from = sendMai

8、l.getFrom(); String subject =sendMail.getSubject(); String body = sendMail.getBody(); StringfileName = fileName = sendMail.getFileName();ii,定义一个Properties对象,并填充它: Propertiesprops = System.getProperties(); props.setProperty(mail.smtp.host,smtpServer); props.setProperty(mail.smtp.port,25); props.put(m

9、ail.smtp.auth,true); props.setProperty(mail.smtp.user, username);iii,创建一个Authenticator的子类CheckAuthenticator,并向Session中注册: CheckAuthenticator auth =new CheckAuthenticator(); Session session =Session.getDefaultInstance(props, auth);iv,创建一个Message: Message msg = newMimeMessage(session);iiv,创建邮件正题,里面的if

10、(!fileName.equals()是做了一个是否包含附件的判断,如果没有,就只把正文做为Message的内容发送出去;如果有,就把附件和正文内容一并发送: try BodyPart bp = newMimeBodyPart(); Multipart mp = newMimeMultipart(); bp.setText(body);/增加正文内容到bodypart mp.addBodyPart(bp); if(!fileName.equals() bp = newMimeBodyPart(); FileDataSourcefileSource = new FileDataSource(fi

11、leName); bp.setDataHandler(newDataHandler(fileSource); bp.setFileName(fileSource.getName(); mp.addBodyPart(bp); msg.setContent(mp); catch (Exception e) System.err.println(增加邮件附件: + fileName + 发生错误! + e); vii,发送 Transport.send(msg);具体源代码(MailSender.java)如下:/MailSender.java/* Created on2005-5-19* TODO

12、 To changethe template for this generated file go to* Window -Preferences - Java - Code Style - Code Templates*/package com.leeyoung.jmail.send;import java.security.Security;import java.util.Date;import java.util.Properties;import java.util.StringTokenizer;import javax.activation.DataHandler;import javax.activati

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

当前位置:首页 > 机械/制造/汽车 > 汽车技术

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