JavaMail发送邮件_第1页
JavaMail发送邮件_第2页
JavaMail发送邮件_第3页
JavaMail发送邮件_第4页
JavaMail发送邮件_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论