




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、使用JavaMail发送邮件需要用到mail.jar和activtion.jar两个包。该类实现了较完整的邮件发送功能,包括以HTML格式发送,添加附件和抄送人。下面是具体的代码:Mail.java:Java代码1. packagecn.cgw.util.mail;2. 3. importjava.util.Properties;4. 5. importjavax.activation.DataHandler;6. importjavax.activation.FileDataSource;7. importjavax.mail.Address;8. importjavax.mail.Body
2、Part;9. importjavax.mail.Message;10. importjavax.mail.Multipart;11. importjavax.mail.Session;12. importjavax.mail.Transport;13. ernet.InternetAddress;14. ernet.MimeBodyPart;15. ernet.MimeMessage;16. ernet.MimeMultipart;1
3、7. 18. 19. publicclassMail20. 21. privateMimeMessagemimeMsg;/MIME邮件对象22. privateSessionsession;/邮件会话对象23. privatePropertiesprops;/系统属性24. privatebooleanneedAuth=false;/smtp是否需要认证25. /smtp认证用户名和密码26. privateStringusername;27. privateStringpassword;28. privateMultipartmp;/Multipart对象,邮件内容,标题,附件等内容均添加到
4、其中后再生成MimeMessage对象29. 30. /*31. *Constructor32. *paramsmtp邮件发送服务器33. */34. publicMail(Stringsmtp)35. setSmtpHost(smtp);36. createMimeMessage();37. 38. 39. /*40. *设置邮件发送服务器41. *paramhostNameString42. */43. publicvoidsetSmtpHost(StringhostName)44. System.out.println(设置系统属性:mail.smtp.host=+hostName);4
5、5. if(props=null)46. props=System.getProperties();/获得系统属性对象47. props.put(mail.smtp.host,hostName);/设置SMTP主机48. 49. 50. 51. /*52. *创建MIME邮件对象53. *return54. */55. publicbooleancreateMimeMessage()56. 57. try58. System.out.println(准备获取邮件会话对象!);59. session=Session.getDefaultInstance(props,null);/获得邮件会话对象
6、60. 61. catch(Exceptione)62. System.err.println(获取邮件会话对象时发生错误!+e);63. returnfalse;64. 65. 66. System.out.println(准备创建MIME邮件对象!);67. try68. mimeMsg=newMimeMessage(session);/创建MIME邮件对象69. mp=newMimeMultipart();70. 71. returntrue;72. catch(Exceptione)73. System.err.println(创建MIME邮件对象失败!+e);74. returnfa
7、lse;75. 76. 77. 78. /*79. *设置SMTP是否需要验证80. *paramneed81. */82. publicvoidsetNeedAuth(booleanneed)83. System.out.println(设置smtp身份认证:mail.smtp.auth=+need);84. if(props=null)props=System.getProperties();85. if(need)86. props.put(mail.smtp.auth,true);87. else88. props.put(mail.smtp.auth,false);89. 90. 9
8、1. 92. /*93. *设置用户名和密码94. *paramname95. *parampass96. */97. publicvoidsetNamePass(Stringname,Stringpass)98. username=name;99. password=pass;100. 101. 102. /*103. *设置邮件主题104. *parammailSubject105. *return106. */107. publicbooleansetSubject(StringmailSubject)108. System.out.println(设置邮件主题!);109. try11
9、0. mimeMsg.setSubject(mailSubject);111. returntrue;112. 113. catch(Exceptione)114. System.err.println(设置邮件主题发生错误!);115. returnfalse;116. 117. 118. 119. /*120. *设置邮件正文121. *parammailBodyString122. */123. publicbooleansetBody(StringmailBody)124. try125. BodyPartbp=newMimeBodyPart();126. bp.setContent(
10、+mailBody,text/html;charset=GBK);127. mp.addBodyPart(bp);128. 129. returntrue;130. catch(Exceptione)131. System.err.println(设置邮件正文时发生错误!+e);132. returnfalse;133. 134. 135. /*136. *添加附件137. *paramfilenameString138. */139. publicbooleanaddFileAffix(Stringfilename)140. 141. System.out.println(增加邮件附件:+f
11、ilename);142. try143. BodyPartbp=newMimeBodyPart();144. FileDataSourcefileds=newFileDataSource(filename);145. bp.setDataHandler(newDataHandler(fileds);146. bp.setFileName(fileds.getName();147. 148. mp.addBodyPart(bp);149. 150. returntrue;151. catch(Exceptione)152. System.err.println(增加邮件附件:+filename
12、+发生错误!+e);153. returnfalse;154. 155. 156. 157. /*158. *设置发信人159. *paramfromString160. */161. publicbooleansetFrom(Stringfrom)162. System.out.println(设置发信人!);163. try164. mimeMsg.setFrom(newInternetAddress(from);/设置发信人165. returntrue;166. catch(Exceptione)167. returnfalse;168. 169. 170. /*171. *设置收信人
13、172. *paramtoString173. */174. publicbooleansetTo(Stringto)175. if(to=null)returnfalse;176. try177. mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to);178. returntrue;179. catch(Exceptione)180. returnfalse;181. 182. 183. 184. /*185. *设置抄送人186. *paramcopytoString187. */188. publ
14、icbooleansetCopyTo(Stringcopyto)189. 190. if(copyto=null)returnfalse;191. try192. mimeMsg.setRecipients(Message.RecipientType.CC,(Address)InternetAddress.parse(copyto);193. returntrue;194. 195. catch(Exceptione)196. returnfalse;197. 198. 199. /*200. *发送邮件201. */202. publicbooleansendOut()203. 204. t
15、ry205. mimeMsg.setContent(mp);206. mimeMsg.saveChanges();207. System.out.println(正在发送邮件.);208. 209. SessionmailSession=Session.getInstance(props,null);210. Transporttransport=mailSession.getTransport(smtp);211. transport.connect(String)props.get(mail.smtp.host),username,password);212. transport.send
16、Message(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO);213. transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.CC);214. /transport.send(mimeMsg);215. 216. System.out.println(发送邮件成功!);217. transport.close();218. 219. returntrue;220. catch(Exceptione)221. System.err.pri
17、ntln(邮件发送失败!+e);222. returnfalse;223. 224. 225. 226. /*227. *调用sendOut方法完成邮件发送228. *paramsmtp229. *paramfrom230. *paramto231. *paramsubject232. *paramcontent233. *paramusername234. *parampassword235. *returnboolean236. */237. publicstaticbooleansend(Stringsmtp,Stringfrom,Stringto,Stringsubject,Strin
18、gcontent,Stringusername,Stringpassword)238. MailtheMail=newMail(smtp);239. theMail.setNeedAuth(true);/需要验证240. 241. if(!theMail.setSubject(subject)returnfalse;242. if(!theMail.setBody(content)returnfalse;243. if(!theMail.setTo(to)returnfalse;244. if(!theMail.setFrom(from)returnfalse;245. theMail.set
19、NamePass(username,password);246. 247. if(!theMail.sendOut()returnfalse;248. returntrue;249. 250. 251. /*252. *调用sendOut方法完成邮件发送,带抄送253. *paramsmtp254. *paramfrom255. *paramto256. *paramcopyto257. *paramsubject258. *paramcontent259. *paramusername260. *parampassword261. *returnboolean262. */263. publ
20、icstaticbooleansendAndCc(Stringsmtp,Stringfrom,Stringto,Stringcopyto,Stringsubject,Stringcontent,Stringusername,Stringpassword)264. MailtheMail=newMail(smtp);265. theMail.setNeedAuth(true);/需要验证266. 267. if(!theMail.setSubject(subject)returnfalse;268. if(!theMail.setBody(content)returnfalse;269. if(
21、!theMail.setTo(to)returnfalse;270. if(!theMail.setCopyTo(copyto)returnfalse;271. if(!theMail.setFrom(from)returnfalse;272. theMail.setNamePass(username,password);273. 274. if(!theMail.sendOut()returnfalse;275. returntrue;276. 277. 278. /*279. *调用sendOut方法完成邮件发送,带附件280. *paramsmtp281. *paramfrom282.
22、*paramto283. *paramsubject284. *paramcontent285. *paramusername286. *parampassword287. *paramfilename附件路径288. *return289. */290. publicstaticbooleansend(Stringsmtp,Stringfrom,Stringto,Stringsubject,Stringcontent,Stringusername,Stringpassword,Stringfilename)291. MailtheMail=newMail(smtp);292. theMail
23、.setNeedAuth(true);/需要验证293. 294. if(!theMail.setSubject(subject)returnfalse;295. if(!theMail.setBody(content)returnfalse;296. if(!theMail.addFileAffix(filename)returnfalse;297. if(!theMail.setTo(to)returnfalse;298. if(!theMail.setFrom(from)returnfalse;299. theMail.setNamePass(username,password);300
24、. 301. if(!theMail.sendOut()returnfalse;302. returntrue;303. 304. 305. /*306. *调用sendOut方法完成邮件发送,带附件和抄送307. *paramsmtp308. *paramfrom309. *paramto310. *paramcopyto311. *paramsubject312. *paramcontent313. *paramusername314. *parampassword315. *paramfilename316. *return317. */318. publicstaticbooleansendAndCc(Stringsmtp,Stringfrom,Stringto,Stringcopyto,Stringsubject,Stringcontent,Stringusername,Stringpassword,S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北劳动关系职业学院《北京规划研究》2023-2024学年第二学期期末试卷
- 齐鲁医药学院《微机原理与嵌入式系统实验》2023-2024学年第二学期期末试卷
- 潍坊工程职业学院《Java开发框架》2023-2024学年第二学期期末试卷
- 三亚学院《演讲与主持》2023-2024学年第二学期期末试卷
- 大连工业大学艺术与信息工程学院《建筑概预算》2023-2024学年第二学期期末试卷
- 天津开发区职业技术学院《微电子器件基础》2023-2024学年第二学期期末试卷
- 心理咨询技能课件
- 内蒙古鸿德文理学院《酒店收益管理》2023-2024学年第二学期期末试卷
- 吉林交通职业技术学院《动植物检验检疫》2023-2024学年第二学期期末试卷
- 广西机电职业技术学院《电法勘探》2023-2024学年第二学期期末试卷
- 动柱龙门合格证书
- 超星尔雅学习通《历史的三峡:近代中国的思潮与政治(华东师范大学)》2025章节测试答案
- 肾内科疾病临床路径
- 船舶修造知识培训课件
- 城市地下综合管廊PPP项目运营维护方案
- 2025年医疗器械质量合规协议模板
- 智能设计方法 教学大纲
- 2025年广东深圳市烟草专卖局公司招聘笔试参考题库含答案解析
- 第四批四川省高校重点实验室名单
- 福建省龙岩新罗区重点中学2025届中考生物全真模拟试卷含解析
- 2024年南昌市公安局招聘省级留置看护辅警考试真题
评论
0/150
提交评论