B.在郵件中包含圖片
如果我們?cè)卩]件中使用HTML作為內(nèi)容,那么最好將HTML中使用的圖片作為郵件的一部分,這樣無(wú)論是否在線(xiàn)都會(huì)正確的顯示HTML中的圖片。處理方法就是將HTML中用到的圖片作為郵件附件并使用特殊的cid URL作為圖片的引用,這個(gè)cid就是對(duì)圖片附件的Content-ID頭的引用。
處理內(nèi)嵌圖片就像向郵件中添加附件一樣,不同之處在于我們必須通過(guò)設(shè)置圖片附件所在的郵件體部分的header中Content-ID為一個(gè)隨機(jī)字符串,并在HTML中img的src標(biāo)記中設(shè)置為該字符串。這樣就完成了圖片附件與HTML的關(guān)聯(lián)。
String file = ...;// Create the messageMessage message = new MimeMessage(session);// Fill its headersmessage.setSubject("Embedded Image");message.setFrom(new InternetAddress(from));message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));// Create your new message partBodyPart messageBodyPart = new MimeBodyPart();String htmlText = "
Hello
" + "";messageBodyPart.setContent(htmlText, "text/html");// Create a related multi-part to combine the partsMimeMultipart multipart = new MimeMultipart("related");multipart.addBodyPart(messageBodyPart);// Create part for the imagemessageBodyPart = new MimeBodyPart();// Fetch the image and associate to partDataSource fds = new FileDataSource(file);messageBodyPart.setDataHandler(new DataHandler(fds));messageBodyPart.setHeader("Content-ID","");// Add part to multi-partmultipart.addBodyPart(messageBodyPart);// Associate multi-part with messagemessage.setContent(multipart);
9.在郵件中搜索短語(yǔ)
JavaMail API提供了過(guò)濾器機(jī)制,它被用來(lái)建立搜索短語(yǔ)。這個(gè)短語(yǔ)由javax.mail.search包中的SearchTerm抽象類(lèi)來(lái)定義,在定義后我們便可以使用Folder的Search()方法在Folder中查找郵件:
SearchTerm st = ...;Message[] msgs = folder.search(st);
下面有22個(gè)不同的類(lèi)(繼承了SearchTerm類(lèi))供我們使用:
AND terms (class AndTerm)
OR terms (class OrTerm)
NOT terms (class NotTerm)
SENT DATE terms (class SentDateTerm)
CONTENT terms (class BodyTerm)
HEADER terms (FromTerm / FromStringTerm, RecipientTerm / RecipientStringTerm, SubjectTerm, etc.)
使用這些類(lèi)定義的斷語(yǔ)集合,我們可以構(gòu)造一個(gè)邏輯表達(dá)式,并在Folder中進(jìn)行搜索。下面是一個(gè)實(shí)例:在Folder中搜索郵件主題含有“ADV”字符串或者發(fā)信人地址為friend@public.com的郵件。
SearchTerm st = new OrTerm( new SubjectTerm("ADV:"), new FromStringTerm("friend@public.com"));Message[] msgs = folder.search(st);
六、參考資源
JavaMail API Home
Sun’s JavaMail API基礎(chǔ)
JavaBeans Activation Framework Home
javamail-interest mailing list
Sun's JavaMail FAQ
jGuru's JavaMail FAQ
Third Party Products List
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)Java經(jīng)典算法大全匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |