动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.几个著名java开源缓存系统的介绍.
.Java常见问题集锦25问.
.java基础知识——java入门与加深.
.一道华为JAVA比武大赛试题,你能.
.JBuilder2005+JBOSS+Oracle9i的环.
.设计表现层时需要考虑的几个问题.
.java开源项目研究 1. 引子.
.解析J2EE应用体系.
.体验JAVA5的新增语言特性.
.开源框架Hibernate 3 的Formulas.
.介绍NEC扩展API.
.表现层框架Struts/Tapestry/JSF比.
.[webservices开发]使用XFire开发.
.JDBC系列教程(四)---结果设置.
.Java手机软件图形界面API之scree.
.Java性能的优化.
.比较RIFE与其他Web Framewo.
.JavaScript在E-mail中的应用.
.SCWCD 学习资料介绍.
.菜鸟初学Java的备忘录(二).

Java Mail API及其应用 —— 一个邮件列表服务器的实现 (二)(转贴)

发表日期:2008-1-5 |



  邮件列表服务经常用于为工作组提供基于email的讨论环境,订阅者通过它讨论共同感爱好的问题。

   本文提供的示例程序ListServer是一个简单的邮件列表转发服务器:它从指定帐号读取新邮件并发送给所有订阅者。Java Mail API不仅使得实现其基本功能相当简单(使用缺省的POP3和SMTP),而且保证了程序易于支持任何可能碰到的系统环境。

   运行该程序需要包含以下支持文件:Java Mail (mail.jar)、JAF(activation.jar)以及缺省的POP3支持(pop3.jar),如下面DOS批命令文件所示(这些JAR文件可以从Sun的Java Mail主页下载,参见相关资源):

   @echo off

   PATH .;d:\jdk1.1\bin

   set CLASSPATH=.;d:\jdk1.1\lib\classes.zip;activation.jar;mail.jar;pop3.jar

   java ListServer %1 %2 %3 %4 %5 %6 %7 %8 %9

   程序启动后先由main()过程读取命令行参数,如邮件服务器、邮件帐号、更新周期等。接下来创建ListServer实例,最后进入“读取新邮件并转发给订阅者/等待直到下一次检查时间到来”无限循环。ListServer的核心功能(即读取和转发所有新邮件)在process()过程实现,其主要操作过程为:

   ◆获取javax.mail.Session实例,并进而获得javax.mail.Store实例。

   ◆利用javax.mail.Store实例获得缺省收件箱(INBOX)javax.mail.Folder实例。

   ◆使用javax.mail.Folder对象提取新邮件,存储为javax.mail.Message对象数组。

   ◆创建javax.mail.FetchProfile以(潜在地)优化对特定邮件组成成分的提取。

   请注重此处javax.mail.FetchProfile类的应用。FetchProfile类提供邮件协议提供者特有可选参数,其目的是更有效地实现邮件组成成分的预提取。Java Mail API鼓励延迟提取邮件成分——即仅在真正需要的时候才提取。这不仅有利于改善系统的响应时间,某些操作(如显示邮件标题列表)也能够从中得到好处。下面代码说明了FetchProfile的基本用法:

   // 提取所有邮件的属性和标记
Message[] messages = folder.getMessages();
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add(FetchProfile.Item.FLAGS);
fp.add("X-Mailer");
folder.fetch(messages, fp);


   sendMsg()过程由processMsg()调用,负责分析指定收件并将它转发给所有订阅者。它首先获得缺省Session实例,然后创建javax.mail.Transport对象发送消息:

   // 设置属性并获得缺省进程实例
Properties props = new Properties();
props.put("mail.smtp.host", _smtpHost);
Session session = Session.getDefaultInstance(props, null);
......
// 发送消息
Transport transport = session.getTransport(SMTP_MAIL);
transport.connect(_smtpHost, _user, _passWord);
transport.sendMessage(newMessage, _toList);


   邮件字段(如收件人、发件人、邮件主题和日期等)的设置方法如下:

   // 创建新邮件 Address replyToList[] = { new InternetAddress(replyTo) };
Message newMessage = new MimeMessage(session);
if (_fromName != null)
newMessage.setFrom(new InternetAddress(from,
_fromName + " / " + replyTo));
else
newMessage.setFrom(new InternetAddress(from));

上一篇:java Excel API 简介 人气:893
下一篇:Java I/O API之性能分析 人气:444
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-10 企业网站智能管理系统(TZIMS) v6
2008-10-10 拓文asp.net网站内容管理系统 v6
2008-10-10 动网论坛PHP版 v2.0++ Build 081
2008-10-10 免费时代CMS v5.0
2008-10-10 wodig第四季中文DIGG社区 v4.1 b
2008-10-10 老Y文章管理系统 v2.2 bulid 081
2008-10-10 魔法盒动感相册 ASP+SQL版 v2.0
2008-10-10 Asoft签到管理系统 v3.0 Pack1
2008-10-10 哥特人音乐网潮流留言本 v1.1
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号