




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、使用JavaMail發(fā)送郵件需要用到mail.jar和activtion.jar兩個(gè)包。該類實(shí)現(xiàn)了較完整的郵件發(fā)送功能,包括以HTML格式發(fā)送,添加附件和抄送人。下面是具體的代碼: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郵件對(duì)象22. privateSessionsession;/郵件會(huì)話對(duì)象23. privatePropertiesprops;/系統(tǒng)屬性24. privatebooleanneedAuth=false;/smtp是否需要認(rèn)證25. /smtp認(rèn)證用戶名和密碼26. privateStringusername;27. privateStringpassword;28. privateMultipartmp;/Multipart對(duì)象,郵件內(nèi)容,標(biāo)題,附件等內(nèi)容均添加到
4、其中后再生成MimeMessage對(duì)象29. 30. /*31. *Constructor32. *paramsmtp郵件發(fā)送服務(wù)器33. */34. publicMail(Stringsmtp)35. setSmtpHost(smtp);36. createMimeMessage();37. 38. 39. /*40. *設(shè)置郵件發(fā)送服務(wù)器41. *paramhostNameString42. */43. publicvoidsetSmtpHost(StringhostName)44. System.out.println(設(shè)置系統(tǒng)屬性:mail.smtp.host=+hostName);4
5、5. if(props=null)46. props=System.getProperties();/獲得系統(tǒng)屬性對(duì)象47. props.put(mail.smtp.host,hostName);/設(shè)置SMTP主機(jī)48. 49. 50. 51. /*52. *創(chuàng)建MIME郵件對(duì)象53. *return54. */55. publicbooleancreateMimeMessage()56. 57. try58. System.out.println(準(zhǔn)備獲取郵件會(huì)話對(duì)象!);59. session=Session.getDefaultInstance(props,null);/獲得郵件會(huì)話對(duì)象
6、60. 61. catch(Exceptione)62. System.err.println(獲取郵件會(huì)話對(duì)象時(shí)發(fā)生錯(cuò)誤!+e);63. returnfalse;64. 65. 66. System.out.println(準(zhǔn)備創(chuàng)建MIME郵件對(duì)象!);67. try68. mimeMsg=newMimeMessage(session);/創(chuàng)建MIME郵件對(duì)象69. mp=newMimeMultipart();70. 71. returntrue;72. catch(Exceptione)73. System.err.println(創(chuàng)建MIME郵件對(duì)象失?。?e);74. returnfa
7、lse;75. 76. 77. 78. /*79. *設(shè)置SMTP是否需要驗(yàn)證80. *paramneed81. */82. publicvoidsetNeedAuth(booleanneed)83. System.out.println(設(shè)置smtp身份認(rèn)證: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. *設(shè)置用戶名和密碼94. *paramname95. *parampass96. */97. publicvoidsetNamePass(Stringname,Stringpass)98. username=name;99. password=pass;100. 101. 102. /*103. *設(shè)置郵件主題104. *parammailSubject105. *return106. */107. publicbooleansetSubject(StringmailSubject)108. System.out.println(設(shè)置郵件主題!);109. try11
9、0. mimeMsg.setSubject(mailSubject);111. returntrue;112. 113. catch(Exceptione)114. System.err.println(設(shè)置郵件主題發(fā)生錯(cuò)誤!);115. returnfalse;116. 117. 118. 119. /*120. *設(shè)置郵件正文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(設(shè)置郵件正文時(shí)發(fā)生錯(cuò)誤!+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、+發(fā)生錯(cuò)誤!+e);153. returnfalse;154. 155. 156. 157. /*158. *設(shè)置發(fā)信人159. *paramfromString160. */161. publicbooleansetFrom(Stringfrom)162. System.out.println(設(shè)置發(fā)信人!);163. try164. mimeMsg.setFrom(newInternetAddress(from);/設(shè)置發(fā)信人165. returntrue;166. catch(Exceptione)167. returnfalse;168. 169. 170. /*171. *設(shè)置收信人
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. *設(shè)置抄送人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. *發(fā)送郵件201. */202. publicbooleansendOut()203. 204. t
15、ry205. mimeMsg.setContent(mp);206. mimeMsg.saveChanges();207. System.out.println(正在發(fā)送郵件.);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(發(fā)送郵件成功!);217. transport.close();218. 219. returntrue;220. catch(Exceptione)221. System.err.pri
17、ntln(郵件發(fā)送失??!+e);222. returnfalse;223. 224. 225. 226. /*227. *調(diào)用sendOut方法完成郵件發(fā)送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);/需要驗(yàn)證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. *調(diào)用sendOut方法完成郵件發(fā)送,帶抄送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);/需要驗(yàn)證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. *調(diào)用sendOut方法完成郵件發(fā)送,帶附件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);/需要驗(yàn)證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. *調(diào)用sendOut方法完成郵件發(fā)送,帶附件和抄送307. *paramsmtp308. *paramfrom309. *paramto310. *paramcopyto311. *paramsubject312. *paramcontent313. *paramusername314. *parampassword315. *paramfilename316. *return317. */318. publicstaticbooleansendAndCc(Stringsmtp,Stringfrom,Stringto,Stringcopyto,Stringsubject,Stringcontent,Stringusername,Stringpassword,S
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年 南昌大學(xué)校內(nèi)外招聘考試筆試試題附答案
- 2025年 河北軟件職業(yè)技術(shù)學(xué)院選聘工作人員考試試題附答案
- 桑蠶絲定位男長(zhǎng)巾項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 2025年 安康市審計(jì)局事業(yè)單位招聘考試筆試試題附答案
- 2023-2028年中國(guó)河南白酒行業(yè)市場(chǎng)深度分析及投資策略咨詢報(bào)告
- 2025年中國(guó)智慧商城建設(shè)市場(chǎng)前景預(yù)測(cè)及投資規(guī)劃研究報(bào)告
- 2025年中國(guó)屏山炒青茶行業(yè)市場(chǎng)發(fā)展監(jiān)測(cè)及投資戰(zhàn)略規(guī)劃報(bào)告
- 寶雞醋項(xiàng)目可行性研究報(bào)告
- 中國(guó)電池制造行業(yè)全景評(píng)估及投資規(guī)劃建議報(bào)告
- 銷售顧問(wèn)培訓(xùn)課件
- JJF 1101-2019 環(huán)境試驗(yàn)設(shè)備溫度、濕度參數(shù)校準(zhǔn)規(guī)范
- 2024年陜西省政工師理論知識(shí)考試參考題庫(kù)(含答案)
- 化工工程基礎(chǔ)知識(shí)培訓(xùn)課件
- 市政道路工程技術(shù)標(biāo)
- 無(wú)人機(jī)研學(xué)旅行方案
- 校園觀察校園不文明現(xiàn)象之我見(jiàn)我行
- 廚房 食品安全培訓(xùn)課件
- 留學(xué)宣講活動(dòng)策劃方案
- 林下種植中藥材的可行性方案
- 鋼筋加工培訓(xùn)課件
- GB/T 43543-2023漱口水
評(píng)論
0/150
提交評(píng)論