梦幻之旅
DEBUG - 天道酬勤
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
671 随笔 :: 6 文章 :: 256 评论 :: 0 Trackbacks
<
2009年4月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
公告
本博客中未注原创的文章均为转载,对转载内容可能做了些修改和增加图片注释,如果侵犯了您的版权,或没有注明原作者,请谅解
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(21)
给我留言
查看公开留言
查看私人留言
随笔分类
(644)
Android(10)
(rss)
ANT(4)
(rss)
C#(10)
(rss)
C/C++(16)
(rss)
CSS(3)
(rss)
DataBase(119)
(rss)
DB-DailyMmaintenance(16)
(rss)
Design Patterns(27)
(rss)
english
(rss)
Exceptions(7)
(rss)
EXT(39)
(rss)
FLASH(9)
(rss)
Hardware(20)
(rss)
Hibernate(13)
(rss)
Html(23)
(rss)
Java(143)
(rss)
java Net(10)
(rss)
JavaScript(39)
(rss)
Linux(26)
(rss)
php(5)
(rss)
Regular Exp(3)
(rss)
Spring(17)
(rss)
Struts(12)
(rss)
TOOL(43)
(rss)
VB/VBA/VBS(5)
(rss)
webservice(9)
(rss)
XML(2)
(rss)
我的梦幻旅途(14)
(rss)
随笔档案
(669)
2017年9月 (4)
2016年10月 (1)
2015年6月 (1)
2015年4月 (2)
2015年1月 (1)
2014年8月 (2)
2014年7月 (9)
2014年6月 (1)
2014年5月 (2)
2014年4月 (3)
2014年3月 (3)
2013年10月 (4)
2013年9月 (8)
2013年8月 (4)
2013年6月 (3)
2013年5月 (4)
2013年4月 (7)
2013年3月 (1)
2013年1月 (3)
2012年12月 (4)
2012年11月 (1)
2012年10月 (1)
2012年9月 (4)
2012年8月 (1)
2012年7月 (2)
2012年6月 (1)
2012年5月 (4)
2012年4月 (2)
2012年3月 (1)
2012年2月 (4)
2012年1月 (6)
2011年12月 (10)
2011年11月 (7)
2011年10月 (6)
2011年9月 (37)
2011年8月 (34)
2011年7月 (44)
2011年6月 (10)
2011年5月 (5)
2011年4月 (3)
2011年3月 (1)
2011年2月 (1)
2011年1月 (18)
2010年12月 (9)
2010年11月 (13)
2010年10月 (17)
2010年9月 (2)
2010年8月 (10)
2010年7月 (10)
2010年6月 (5)
2010年5月 (8)
2010年4月 (9)
2010年3月 (11)
2010年2月 (3)
2010年1月 (8)
2009年12月 (6)
2009年11月 (10)
2009年10月 (5)
2009年9月 (1)
2009年8月 (18)
2009年7月 (6)
2009年6月 (2)
2009年5月 (1)
2009年4月 (4)
2009年3月 (6)
2009年2月 (5)
2009年1月 (3)
2008年12月 (13)
2008年11月 (13)
2008年10月 (30)
2008年9月 (9)
2008年8月 (24)
2008年7月 (17)
2008年6月 (15)
2008年5月 (16)
2008年4月 (15)
2008年3月 (19)
2008年2月 (3)
2008年1月 (20)
2007年12月 (24)
2007年11月 (9)
文章档案
(6)
2008年4月 (1)
2008年3月 (1)
2008年1月 (2)
2007年11月 (2)
最新随笔
1. PP代码生成器(四) 使用解决方案生成代码
2. PP代码生成器(三) 设计freemarker模板, 创建解决方案
3. PP代码生成器(二) 解决方案, 生成任务, 辅助设计面板
4. PP代码生成器(一) 简介, 下载, 运行
5. PP持久层代码生成器
6. 比较好的博客
7. 系统集成项目管理工程师
8. 软件公司项目经理岗位职责
9. 联想笔记本 显示屏 键盘失灵 释放静电
10. eclipse maven
积分与排名
积分 - 954812
排名 - 37
最新评论
1. re: Myeclipse 快捷键大全(绝对全)
crl+向右箭头(输入法有问题打不出来)移到下一个参数的位置,然后crl+shift+向右箭头 选中该位置的参数即可
--红领巾
2. re: Log4j基本使用方法
555
--555
3. re: Myeclipse 快捷键大全(绝对全)[未登录]
很不错,谢谢
--银狐
4. re: Flex 表单
是谁这么无聊~呜~~~
--HUIKK
5. re: Spring AfterReturning 异常
具体是什么意思啊
--dingli
阅读排行榜
1. Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream(70016)
2. log4j.properties 使用说明(42071)
3. Myeclipse 快捷键大全(绝对全)(32711)
4. TNSNAMES.ORA 配置(24382)
5. oracle 树状查询(21351)
评论排行榜
1. Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream(53)
2. JMail 异常: java.lang.NoClassDefFoundError: javax/activation/DataSource(21)
3. javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first(14)
4. java 读取 excel 2003 或 excel 2007(14)
5. java.lang.UnsupportedClassVersionError: Bad version number in .class file(8)
工具
package
org.rw.commons.util;
import
java.io.File;
import
java.util.Date;
import
java.util.Properties;
import
javax.activation.DataHandler;
import
javax.activation.FileDataSource;
import
javax.mail.Message;
import
javax.mail.Session;
import
javax.mail.Transport;
import
javax.mail.internet.InternetAddress;
import
javax.mail.internet.MimeBodyPart;
import
javax.mail.internet.MimeMessage;
import
javax.mail.internet.MimeMultipart;
import
javax.mail.internet.MimeUtility;
/** */
/**
*
* <p>
* Title:[Java Mail Tool]
* </p>
* <p>
* Description: [java邮件发送工具类]
* </p>
* <p>
* Copyright 2009 SIYN Co., Ltd.
* </p>
* <p>
* All right reserved.
* </p>
*
*
@version
1.0
*
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*/
public
class
JMailTool
{
/** */
/**
*******************************************************
*/
/** */
/**
smtp服务(如:163的SMTP服务是smtp.163.com)
*/
private
String smtp
=
""
;
/** */
/**
字符集
*/
private
String charactorSet
=
"
UTF-8
"
;
/** */
/**
内容格式
*/
private
String content_type
=
"
text/html;charset=utf-8
"
;
/** */
/**
发送者
*/
private
String sender
=
""
;
/** */
/**
接收者
*/
private
String[] receivers;
/** */
/**
接收者-抄送
*/
private
String[] CCReceivers;
/** */
/**
接收者-暗送
*/
private
String[] BCCReceivers;
/** */
/**
回复者
*/
private
String[] replys;
/** */
/**
邮件内容
*/
private
String content
=
""
;
/** */
/**
邮件主题
*/
private
String subject
=
""
;
/** */
/**
是否需要权限,有的邮件服务器可以不要权限
*/
private
boolean
needAuth
=
true
;
/** */
/**
用户名
*/
private
String username
=
""
;
/** */
/**
密码
*/
private
String password
=
""
;
/** */
/**
是否添加附件
*/
private
boolean
isAddFile
=
false
;
/** */
/**
附件全路径
*/
private
String fileNames
=
""
;
/** */
/**
*******************************************************
*/
/** */
/**
是否打印信息到控制台
*/
private
boolean
isPrintInfoToConsole
=
true
;
/** */
/**
* 构造方法
*/
public
JMailTool()
{}
/** */
/**
*
* <p>
* Description:[设置SMTP]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
smtp
* FromAddress的smtp
*/
public
void
setSmtp(
final
String smtp)
{
this
.smtp
=
smtp;
}
/** */
/**
*
* <p>
* Description:[设置字符集]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
charactorSet
* 字符集
*/
public
void
setCharactorSet(
final
String charactorSet)
{
this
.charactorSet
=
charactorSet;
}
/** */
/**
*
* <p>
* Description:[设置内容格式]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
content_type
* 内容格式
*/
public
void
setContentType(
final
String content_type)
{
this
.content_type
=
content_type;
}
/** */
/**
*
* <p>
* Description:[设置发送者]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
sender
* 发送者 格式为: user<user@163.com> or user@163.com
*/
public
void
setSender(
final
String sender)
{
this
.sender
=
sender;
}
/** */
/**
*
* <p>
* Description:[设置邮件主题]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
subject
* 邮件主题
*/
public
void
setSubject(
final
String subject)
{
this
.subject
=
subject;
}
/** */
/**
*
* <p>
* Description:[设置邮件内容]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
content
* 邮件内容
*/
public
void
setPureContent(
final
String content)
{
this
.content
=
content;
}
/** */
/**
*
* <p>
* Description:[设置邮件接受者,地址格式为: user<user@163.com> or user@163.com]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
receiver
* String 多个接收者,用";"或","分隔
*
@return
*/
public
boolean
setReceivers(
final
String receiver)
{
if
((receiver
==
null
)
||
(
""
.equals(receiver)))
{
return
false
;
}
this
.receivers
=
receiver.split(
"
[;|,]
"
);
return
this
.receivers.length
>=
1
;
}
/** */
/**
*
* <p>
* Description:[设置邮件接受者(抄送) 地址格式为: user<user@163.com> or user@163.com]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
CCReceiver
* String 多个接收者,用";"或","分隔
*
@return
*/
public
boolean
setCCReceivers(
final
String CCReceiver)
{
if
((CCReceiver
==
null
)
||
(
""
.equals(CCReceiver)))
{
return
false
;
}
this
.CCReceivers
=
CCReceiver.split(
"
[;|,]
"
);
return
this
.CCReceivers.length
>=
1
;
}
/** */
/**
*
* <p>
* Description:[设置邮件接受者(暗送) 地址格式为: user<user@163.com> or user@163.com]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
BCCReceiver
* String 多个接收者,用";"或","分隔
*
@return
*/
public
boolean
setBCCReceiver(
final
String BCCReceiver)
{
if
((BCCReceiver
==
null
)
&&
(
""
.equals(BCCReceiver)))
{
return
false
;
}
this
.BCCReceivers
=
BCCReceiver.split(
"
[;|,]
"
);
return
this
.BCCReceivers.length
>=
1
;
}
/** */
/**
*
* <p>
* Description:[设置回复者 地址格式为: user<user@163.com> or user@163.com]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
reply
* String 多个回复者,用";"或","分隔
*
@return
*/
public
boolean
setReplys(
final
String reply)
{
if
((reply
==
null
)
||
(
""
.equals(reply)))
{
return
false
;
}
this
.replys
=
reply.split(
"
[;|,]
"
);
return
this
.receivers.length
>=
1
;
}
/** */
/**
*
* <p>
* Description:[设置认证]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
name
* 用户名
*
@param
password
* 密码
*/
public
void
setAuth(
final
String name,
final
String password)
{
this
.username
=
name;
this
.password
=
password;
}
/** */
/**
*
* <p>
* Description:[设置是否添加附件]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
isAddFile
*/
private
void
setAddFile(
boolean
isAddFile)
{
this
.isAddFile
=
isAddFile;
}
/** */
/**
*
* <p>
* Description:[设置邮件的附件,可多个附件]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
fileNames
* 多个文件名,用";"或","分开
*/
public
void
setFileAffixs(
final
String fileNames)
{
this
.fileNames
=
fileNames;
if
(fileNames
!=
null
&&
!
""
.equals(fileNames))
{
setAddFile(
true
);
}
}
/** */
/**
*
* <p>
* Description:[设置是否打印信息到控制台]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
isPrintInfoToConsole
*/
public
void
isPrintInfoToConsole(
boolean
isPrintInfoToConsole)
{
this
.isPrintInfoToConsole
=
isPrintInfoToConsole;
}
/** */
/**
*
* <p>
* Description:[添加邮件的附件,可多个附件]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
multipart
* MimeMultipart 原来的MimeMultipart
*
@param
filename
* String 多个文件名,用";"或","分开
*
@return
MimeMultipart 最终的MimeMultipart
*/
private
MimeMultipart addFileAffix(MimeMultipart multipart, String fileNames)
{
/** */
/**
如果文件名为NULL名为空字符串
*/
if
(fileNames
==
null
||
""
.equals(fileNames))
{
return
multipart;
}
MimeMultipart multipartTemp
=
null
;
multipartTemp
=
multipart;
try
{
final
String[] arrFile
=
fileNames.split(
"
[;|,]
"
);
for
(
int
i
=
0
; i
<
arrFile.length; i
++
)
{
final
File delfile
=
new
File(arrFile[i]);
if
(delfile.exists())
{
final
MimeBodyPart mbpFile
=
new
MimeBodyPart();
final
FileDataSource fileDataSource
=
new
FileDataSource(
arrFile[i]);
mbpFile.setDataHandler(
new
DataHandler(fileDataSource));
mbpFile.setFileName(fileDataSource.getName());
multipartTemp.addBodyPart(mbpFile);
}
}
/** */
/**
增加邮件附件成功返回修改后的MimeMultipart
*/
return
multipartTemp;
}
catch
(Exception e)
{
/** */
/**
增加邮件附件失败返回原来的MimeMultipart
*/
return
multipart;
}
}
/** */
/**
* 发送邮件
*
*
@return
int 返回结束代码
*/
public
int
sendMail()
{
try
{
final
Properties properties
=
System.getProperties();
/** */
/**
设置SMTP开始 **********************************************
*/
/** */
/**
检查是否设置SMTP
*/
if
(
this
.smtp
==
null
||
""
.equals(
this
.smtp))
{
throw
new
Exception(
"
没有设置SMTP.
"
);
}
properties.put(
"
mail.smtp.host
"
,
this
.smtp);
/** */
/**
处理gmail开始,gmail使用的了ssl加密,需特别处理 **
*/
if
(
this
.smtp.indexOf(
"
smtp.gmail.com
"
)
>=
0
)
{
properties.setProperty(
"
mail.smtp.socketFactory.class
"
,
"
javax.net.ssl.SSLSocketFactory
"
);
properties.setProperty(
"
mail.smtp.socketFactory.fallback
"
,
"
false
"
);
properties.setProperty(
"
mail.smtp.port
"
,
"
465
"
);
properties.setProperty(
"
mail.smtp.socketFactory.port
"
,
"
465
"
);
}
/** */
/**
处理gmail结束,gmail使用的了ssl加密,需特别处理 **
*/
/** */
/**
设置SMTP结束 **********************************************
*/
/** */
/**
设置认证开始 ***********************************************
*/
if
(
this
.needAuth)
{
properties.put(
"
mail.smtp.auth
"
,
"
true
"
);
}
else
{
properties.put(
"
mail.smtp.auth
"
,
"
false
"
);
}
/** */
/**
设置认证结束 ***********************************************
*/
final
Session session
=
Session
.getDefaultInstance(properties,
null
);
/** */
/**
构造MimeMessage 并设定基本的值
*/
final
MimeMessage mimeMessage
=
new
MimeMessage(session);
/** */
/**
设置发件人开始 **********************************************
*/
if
(
this
.sender
==
null
||
""
.equals(
this
.sender))
{
throw
new
Exception(
"
没有设置发件人SENDER.
"
);
}
final
InternetAddress from
=
new
InternetAddress(
this
.encodeAddress(
this
.sender));
mimeMessage.setFrom(from);
/** */
/**
设置发件人结束 **********************************************
*/
/** */
/**
设置收件人开始 **********************************************
*/
if
(
this
.receivers
==
null
||
this
.receivers.length
<=
0
)
{
throw
new
Exception(
"
没有设置收件人RECEIVERS.
"
);
}
InternetAddress[] arrTo
=
new
InternetAddress[
this
.receivers.length];
for
(
int
i
=
0
; i
<
this
.receivers.length; i
++
)
{
arrTo[i]
=
new
InternetAddress(
this
.encodeAddress(
this
.receivers[i]));
}
mimeMessage.setRecipients(Message.RecipientType.TO, arrTo);
/** */
/**
设置收件人结束 **********************************************
*/
/** */
/**
设置抄送人开始 **********************************************
*/
if
(
this
.CCReceivers
!=
null
&&
this
.CCReceivers.length
>
0
)
{
InternetAddress[] arrCC
=
new
InternetAddress[
this
.CCReceivers.length];
for
(
int
i
=
0
; i
<
this
.CCReceivers.length; i
++
)
{
arrCC[i]
=
new
InternetAddress(
this
.encodeAddress(
this
.CCReceivers[i]));
}
mimeMessage.setRecipients(Message.RecipientType.CC, arrCC);
}
/** */
/**
设置抄送人结束 **********************************************
*/
/** */
/**
设置暗送人开始 **********************************************
*/
if
(
this
.BCCReceivers
!=
null
&&
this
.BCCReceivers.length
>
0
)
{
InternetAddress[] arrBCC
=
new
InternetAddress[
this
.BCCReceivers.length];
for
(
int
i
=
0
; i
<
this
.BCCReceivers.length; i
++
)
{
arrBCC[i]
=
new
InternetAddress(
this
.encodeAddress(
this
.BCCReceivers[i]));
}
mimeMessage.setRecipients(Message.RecipientType.BCC, arrBCC);
}
/** */
/**
设置暗送人结束 **********************************************
*/
/** */
/**
设置回复人开始 **********************************************
*/
if
(
this
.replys
!=
null
&&
this
.replys.length
>
0
)
{
InternetAddress[] arrReply
=
new
InternetAddress[
this
.replys.length];
for
(
int
j
=
0
; j
<
this
.replys.length; j
++
)
{
arrReply[j]
=
new
InternetAddress(
this
.encodeAddress(
this
.replys[j]));
}
mimeMessage.setReplyTo(arrReply);
}
/** */
/**
设置回复人结束 **********************************************
*/
/** */
/**
设置邮件主题开始 ********************************************
*/
if
(
this
.subject
==
null
||
""
.equals(
this
.subject))
{
this
.subject
=
"
来自
"
+
this
.sender
+
"
的邮件
"
;
}
mimeMessage.setSubject(
this
.subject,
this
.charactorSet);
/** */
/**
设置邮件主题结束 ********************************************
*/
MimeMultipart multipart
=
new
MimeMultipart();
/** */
/**
设定邮件正文
*/
MimeBodyPart mbpContent
=
new
MimeBodyPart();
mbpContent.setText(
this
.content,
this
.charactorSet);
mbpContent.setHeader(
"
Content-type
"
,
this
.content_type);
multipart.addBodyPart(mbpContent);
/** */
/**
设定邮件附件
*/
if
(isAddFile
==
true
)
{
multipart
=
addFileAffix(multipart,
this
.fileNames);
}
/** */
/**
设定mimeMessage Header
*/
mimeMessage.setHeader(
"
Content-type
"
,
this
.content_type);
/** */
/**
向MimeMessage添加Multipart
*/
mimeMessage.setContent(multipart);
/** */
/**
设定时间
*/
mimeMessage.setSentDate(
new
Date());
mimeMessage.saveChanges();
if
(
this
.needAuth)
{
final
Transport transport
=
session.getTransport(
"
smtp
"
);
transport.connect((String) properties.get(
"
mail.smtp.host
"
),
this
.username,
this
.password);
transport.sendMessage(mimeMessage, mimeMessage
.getAllRecipients());
}
else
{
Transport.send(mimeMessage);
}
/** */
/**
是否打印发送成功与否信息
*/
if
(
this
.isPrintInfoToConsole)
{
this
.printInfoToConsole(
true
);
}
return
0
;
}
catch
(Exception ex)
{
ex.printStackTrace();
return
-
1
;
}
}
/** */
/**
*
* <p>
* Description:[地址转码,例如:把user<user@163.com>的地址转码为user@163.com]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
addresses
* 转码前的地址
*
@return
转码后的地址
*/
private
String encodeAddress(String address)
{
int
leftSignPosition
=
address.indexOf(
"
<
"
);
if
(leftSignPosition
>
1
&&
address.indexOf(
"
>
"
)
>
leftSignPosition)
{
String leftPart
=
address.substring(
0
, leftSignPosition);
String rightPart
=
address.substring(leftSignPosition, address
.length());
try
{
leftPart
=
MimeUtility.encodeText(leftPart,
this
.charactorSet,
"
B
"
);
return
leftPart
+
rightPart;
}
catch
(Exception e)
{}
}
return
address;
}
/** */
/**
*
* <p>
* Description:[在控制台打印发送后的信息]
* </p>
* <p>
* Created by [SIYN] [Apr 2, 2009]
* </p>
* <p>
* Midified by [Huyvanpull] [Apr 5, 2009]
* </p>
*
*
@param
isSendedSuccess
* 是否发送成功
*/
private
void
printInfoToConsole(
boolean
isSendedSuccess)
{
/** */
/**
如果不打印控制台信息
*/
if
(
!
this
.isPrintInfoToConsole)
{
return
;
}
/** */
/**
组装打印信息开始 ****************************************
*/
StringBuffer info
=
new
StringBuffer();
info.append(
"
----------------->
"
);
info.append(isSendedSuccess);
info.append(
"
<-----------------
"
);
/** */
/**
smtp服务器信息 ***************
*/
info.append(
"
\nSMTP 服务器:
"
);
info.append(
this
.smtp);
/** */
/**
发送者信息 *******************
*/
info.append(
"
\n发送者:
"
);
info.append(sender);
/** */
/**
接收者信息 *******************
*/
info.append(
"
\n接收者:
"
);
if
(
this
.receivers
!=
null
)
{
info.append(
this
.receivers[
0
]);
for
(
int
i
=
1
; i
<
this
.receivers.length; i
++
)
{
info.append(
"
,
"
+
this
.receivers[i]);
}
}
/** */
/**
抄送者信息 *******************
*/
info.append(
"
\n接收者(抄送):
"
);
if
(
this
.CCReceivers
!=
null
)
{
info.append(
this
.CCReceivers[
0
]);
for
(
int
i
=
1
; i
<
this
.CCReceivers.length; i
++
)
{
info.append(
"
,
"
+
this
.CCReceivers[i]);
}
}
else
{
info.append(
"
无
"
);
}
/** */
/**
抄送者信息 ********************
*/
info.append(
"
\n接收者(暗送):
"
);
if
(
this
.BCCReceivers
!=
null
)
{
info.append(
this
.BCCReceivers[
0
]);
for
(
int
i
=
1
; i
<
this
.BCCReceivers.length; i
++
)
{
info.append(
"
,
"
+
this
.BCCReceivers[i]);
}
}
else
{
info.append(
"
无
"
);
}
/** */
/**
组装打印信息结束 ****************************************
*/
System.out.println(info.toString());
}
}
posted on 2009-04-02 18:24
HUIKK
阅读(319)
评论(0)
编辑
收藏
所属分类:
TOOL
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
tomcat jsp 不更新
远程桌面
wget.exe 工具
Tomcat 安全的问题
MyEclipse连接Oracle错误:ORA-00604和ORA-12705
MyEclipse不编译问题的解决
程序员常去的103个网站
WinPE 下安装 Windows Server 2003 服务器
myeclipse 技巧
花生壳技巧
Powered by:
BlogJava
Copyright © HUIKK