细心!用心!耐心!
吾非文人,乃市井一俗人也,读百卷书,跨江河千里,故申城一游; 一两滴辛酸,三四年学业,五六点粗墨,七八笔买卖,九十道人情。
BlogJava
联系
聚合
管理
1 Posts :: 196 Stories :: 10 Comments :: 0 Trackbacks
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(5)
给我留言
查看公开留言
查看私人留言
随笔分类
网关编程
设计模式
文章分类
AJAX技术(13)
ANT的使用(3)
Behavioral 模式 (11)
core java中的一些数据结构的处理(15)
Creational 模式(7)
I/O机制的编程
JPA(6)
liferay portal(19)
Oracle BPM专题(1)
SSH框架编程(1)
Structural 模式 (10)
webservice编程
事务编程(2)
任务调度器(1)
多執行緒模式(8)
多线程编程(5)
如何debug(2)
常用javascript(7)
数据库编程(5)
服务器编程(5)
网关编程(6)
网络协议编程(2)
面向对象的一些难点问题
项目框架的设想(21)
文章档案
2014年7月 (5)
2014年1月 (1)
2012年10月 (3)
2012年9月 (4)
2012年6月 (7)
2008年11月 (8)
2008年5月 (1)
2007年11月 (2)
2007年10月 (2)
2007年7月 (7)
2007年5月 (42)
2007年4月 (58)
2007年3月 (9)
2007年2月 (8)
2007年1月 (7)
收藏夹
Doug Lea关于util.concurrent并发工具包的讲座(3)
搜索
最新评论
1. re: createNativeQuery原生-命名查询[未登录]
query.getResultList() 这个返回的值 用什么实体 类 接受 呢?
--111
2. re: JPA本地查询(Native Query)(二)[未登录]
fdfdf
--abc
3. re: JPA EntityManager详解(一)
版主,如果利用entityManager进行查询,如何在sql里边传参,防注入的那种
--谢谢
4. re: dwr简介--一个例子(一)
天通苑
--67
5. re: 图片自动生成器
wq ery 2we wei 3ik w3
-- kplie
发送邮件
1
/** */
/**
2
*
3
*/
4
package
com.stt.doss.common.util.mail;
5
6
import
java.util.
*
;
7
8
import
javax.activation.DataHandler;
9
import
javax.activation.FileDataSource;
10
import
javax.mail.BodyPart;
11
import
javax.mail.Session;
12
import
javax.mail.Multipart;
13
import
javax.mail.Message;
14
import
javax.mail.Address;
15
import
javax.mail.Transport;
16
17
import
javax.mail.internet.MimeMessage;
18
import
javax.mail.internet.MimeMultipart;
19
import
javax.mail.internet.MimeBodyPart;
20
import
javax.mail.internet.InternetAddress;
21
22
23
/** */
/**
24
*
@author
zhangjp
25
*
26
*/
27
public
class
EMail
{
28
29
private
static
MimeMessage mimeMsg;
//
MIME邮件对象
30
31
private
Session session;
//
邮件会话对象
32
33
private
static
Properties props;
//
系统属性
34
35
private
static
boolean
needAuth
=
true
;
//
smtp是否需要认证
36
37
private
static
String username
=
""
;
//
smtp认证用户名和密码
38
39
private
static
String password
=
""
;
40
41
private
static
Multipart mp;
//
Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象
42
43
private
static
EMail themail
=
null
;
44
45
public
EMail()
{
46
setSmtpHost(MailUtil.MAILHOST);
47
createMimeMessage();
48
}
49
50
public
EMail(String smtp)
{
51
setSmtpHost(smtp);
52
createMimeMessage();
53
}
54
55
56
public
void
setSmtpHost(String hostName)
{
57
System.out.println(
"
设置系统属性:mail.smtp.host =
"
+
hostName);
58
if
(props
==
null
)
59
props
=
System.getProperties();
//
获得系统属性对象
60
61
props.put(
"
mail.smtp.host
"
, hostName);
//
设置SMTP主机
62
}
63
64
65
public
boolean
createMimeMessage()
{
66
try
{
67
System.out.println(
"
准备获取邮件会话对象!
"
);
68
session
=
Session.getDefaultInstance(props,
null
);
//
获得邮件会话对象
69
}
catch
(Exception e)
{
70
System.err.println(
"
获取邮件会话对象时发生错误!
"
+
e);
71
return
false
;
72
}
73
74
System.out.println(
"
准备创建MIME邮件对象!
"
);
75
try
{
76
mimeMsg
=
new
MimeMessage(session);
//
创建MIME邮件对象
77
mp
=
new
MimeMultipart();
78
79
return
true
;
80
}
catch
(Exception e)
{
81
System.err.println(
"
创建MIME邮件对象失败!
"
+
e);
82
return
false
;
83
}
84
}
85
86
87
public
void
setNeedAuth(
boolean
need)
{
88
System.out.println(
"
设置smtp身份认证:mail.smtp.auth =
"
+
need);
89
if
(props
==
null
)
90
props
=
System.getProperties();
91
92
if
(need)
{
93
props.put(
"
mail.smtp.auth
"
,
"
true
"
);
94
}
else
{
95
props.put(
"
mail.smtp.auth
"
,
"
false
"
);
96
}
97
}
98
99
100
public
void
setNamePass(String name, String pass)
{
101
username
=
name;
102
password
=
pass;
103
}
104
105
/** */
/**
106
*
@param
mailSubject
107
* String
108
*
@return
boolean
109
*/
110
public
boolean
setSubject(String mailSubject)
{
111
System.out.println(
"
设置邮件主题!
"
);
112
try
{
113
mimeMsg.setSubject(mailSubject);
114
return
true
;
115
}
catch
(Exception e)
{
116
System.err.println(
"
设置邮件主题发生错误!
"
);
117
return
false
;
118
}
119
}
120
121
122
public
boolean
setBody(String mailBody)
{
123
try
{
124
BodyPart bp
=
new
MimeBodyPart();
125
bp.setContent(
126
"
<meta http-equiv=Content-Type content=text/html; charset=gb2312>
"
127
+
mailBody,
"
text/html;charset=GB2312
"
);
128
mp.addBodyPart(bp);
129
130
return
true
;
131
}
catch
(Exception e)
{
132
System.err.println(
"
设置邮件正文时发生错误!
"
+
e);
133
return
false
;
134
}
135
}
136
137
138
139
140
public
boolean
setFrom(String from)
{
141
System.out.println(
"
设置发信人!
"
);
142
try
{
143
mimeMsg.setFrom(
new
InternetAddress(from));
//
设置发信人
144
return
true
;
145
}
catch
(Exception e)
{
146
return
false
;
147
}
148
}
149
150
/** */
/**
151
*
@param
name
152
* String
153
*
@param
pass
154
* String
155
*/
156
public
boolean
setTo(String to)
{
157
if
(to
==
null
)
158
return
false
;
159
160
try
{
161
mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress
162
.parse(to));
163
return
true
;
164
}
catch
(Exception e)
{
165
return
false
;
166
}
167
168
}
169
170
/** */
/**
171
*
@param
name
172
* String
173
*
@param
pass
174
* String
175
*/
176
public
boolean
setCopyTo(String copyto)
{
177
if
(copyto
==
null
)
178
return
false
;
179
try
{
180
mimeMsg.setRecipients(Message.RecipientType.CC,
181
(Address[]) InternetAddress.parse(copyto));
182
return
true
;
183
}
catch
(Exception e)
{
184
return
false
;
185
}
186
}
187
188
189
public
boolean
addFileAffix(String filename)
{
190
191
System.out.println(
"
增加邮件附件:
"
+
filename);
192
193
try
{
194
BodyPart bp
=
new
MimeBodyPart();
195
FileDataSource fileds
=
new
FileDataSource(filename);
196
bp.setDataHandler(
new
DataHandler(fileds));
197
bp.setFileName(fileds.getName());
198
199
mp.addBodyPart(bp);
200
201
return
true
;
202
}
catch
(Exception e)
{
203
System.err.println(
"
增加邮件附件:
"
+
filename
+
"
发生错误!
"
+
e);
204
return
false
;
205
}
206
}
207
208
209
210
/** */
/**
211
*
@param
name
212
* String
213
*
@param
pass
214
* String
215
*/
216
public
static
boolean
sendout(Object obj)
{
217
EmailMessage em
=
(EmailMessage) obj;
218
219
themail
=
new
EMail(em.getMailHost());
220
themail.setNeedAuth(needAuth);
221
222
themail.setSubject(em.getMailTitle());
223
themail.setBody(em.getMailBody());
224
themail.setTo(em.getMailToAddress());
225
themail.setFrom(em.getMailFromAddress());
226
themail.setNamePass(em.getMailName(), em.getMailPassword());
227
228
try
{
229
mimeMsg.setContent(mp);
230
mimeMsg.saveChanges();
231
System.out.println(
"
正在发送邮件
.
"
);
232
233
Session mailSession
=
Session.getInstance(props,
null
);
234
Transport transport
=
mailSession.getTransport(
"
smtp
"
);
235
transport.connect((String) props.get(
"
mail.smtp.host
"
), username,
236
password);
237
transport.sendMessage(mimeMsg, mimeMsg
238
.getRecipients(Message.RecipientType.TO));
239
240
System.out.println(
"
发送邮件成功!
"
);
241
transport.close();
242
243
return
true
;
244
}
catch
(Exception e)
{
245
System.err.println(
"
邮件发送失败!
"
+
e);
246
return
false
;
247
}
248
}
249
250
251
/** */
/**
252
*
@param
name
253
* String
254
*
@param
pass
255
* String
256
*/
257
public
static
boolean
sendoutAddAffix(Object obj)
{
258
EmailMessage em
=
(EmailMessage) obj;
259
260
themail
=
new
EMail(em.getMailHost());
261
themail.setNeedAuth(needAuth);
262
263
themail.setSubject(em.getMailTitle());
264
themail.setBody(em.getMailBody());
265
themail.setTo(em.getMailToAddress());
266
themail.setFrom(em.getMailFromAddress());
267
themail.addFileAffix(em.getMailAffix());
268
themail.setNamePass(em.getMailName(), em.getMailPassword());
269
270
try
{
271
mimeMsg.setContent(mp);
272
mimeMsg.saveChanges();
273
System.out.println(
"
正在发送邮件
.
"
);
274
275
Session mailSession
=
Session.getInstance(props,
null
);
276
Transport transport
=
mailSession.getTransport(
"
smtp
"
);
277
transport.connect((String) props.get(
"
mail.smtp.host
"
), username,
278
password);
279
transport.sendMessage(mimeMsg, mimeMsg
280
.getRecipients(Message.RecipientType.TO));
281
282
System.out.println(
"
发送邮件成功!
"
);
283
transport.close();
284
285
return
true
;
286
}
catch
(Exception e)
{
287
System.err.println(
"
邮件发送失败!
"
+
e);
288
return
false
;
289
}
290
}
291
292
293
}
294
295
296
297
298
posted on 2007-03-16 15:28
张金鹏
阅读(235)
评论(0)
编辑
收藏
所属分类:
core java中的一些数据结构的处理
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
相关文章:
截取字符串(针对字符串插入数据库,长度问题)
常用工具类
杂议java知识
发送邮件
文件上传
文件下载
前台分页
字符串变数组
去除所有引号的操作
与数据库操作相关的工具类
Powered by:
BlogJava
Copyright © 张金鹏