基於JavaMail API收發郵件的辦法。本站提示廣大學習愛好者:(基於JavaMail API收發郵件的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是基於JavaMail API收發郵件的辦法正文
本文實例講述了基於JavaMail API收發郵件的辦法。分享給年夜家供年夜家參考。詳細以下:
1.JavaMail API按其功效劃分平日可分為以下三年夜類
(1)創立息爭析郵件內容的API :Message類是創立息爭析郵件的焦點API,它的實例對象代表一封電子郵件。
(2)發送郵件的API:Transport類是發送郵件的焦點API類,它的實例對象代表完成了某個郵件發送協定的郵件發送對象,例如SMTP協定。
(3)吸收郵件的API:Store類是吸收郵件的焦點API類,它的實例對象代表完成了某個郵件吸收協定的郵件吸收對象,例如POP3協定。
2. Session類
Session類用於界說全部運用法式所需的情況信息,和搜集客戶端與郵件辦事器樹立收集銜接的會話信息,如郵件辦事器的主機名、端標語、采取的郵件發送和吸收協定等。Session對象依據這些信息構建用於郵件收發的Transport和Store對象,和為客戶端創立Message對象時供給信息支撐。
3.應用JavaMail發送一封簡略的郵件
創立包括郵件辦事器的收集銜接信息的Session對象。
創立代表郵件內容的Message對象。
創立Transport對象、銜接辦事器、發送Message、封閉銜接。
4.實例
(1)JavaMail郵件只發送內容
public class SendMail { public static void main(String[] args) throws Exception { //屬性文件 Properties props=new Properties(); //設置郵件的發送主機名、發送協定和能否驗證 props.setProperty("mail.host","smtp.sohu.com" ); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.smtp.auth", "true"); //獲得發送吸收郵件情況的對象 Session session=Session.getInstance(props); Message message=createMessage(session); //創立發送郵件的對象 Transport tsp=session.getTransport(); tsp.connect("jb51", "jb51"); tsp.sendMessage(message, message.getAllRecipients()); tsp.close(); } public static Message createMessage(Session session) throws Exception{ //依據情況對象創立一份郵件 MimeMessage message=new MimeMessage(session); //設置郵件屬性 message.setFrom(new InternetAddress("[email protected]")); message.setRecipient(Message.RecipientType.TO,new InternetAddress("[email protected]")); message.setSubject("hello"); //創立郵件體 MimeBodyPart text=new MimeBodyPart(); text.setContent("你好?","text/html;charset=utf-8"); //設置描寫關系 MimeMultipart mm=new MimeMultipart(); mm.addBodyPart(text); message.setContent(mm); message.saveChanges(); return message; } }
(2)JavaMail郵件發送內容和圖片
public class SendImageMail { public static void main(String[] args) throws Exception { //屬性文件 Properties props=new Properties(); //設置郵件的發送主機名、發送協定和能否驗證 props.setProperty("mail.host","smtp.sohu.com" ); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.smtp.auth", "true"); //獲得發送吸收郵件情況的對象 Session session=Session.getInstance(props); Message message=createMessage(session); //創立發送郵件的對象 Transport tsp=session.getTransport(); tsp.connect("jb51", "jb51"); tsp.sendMessage(message, message.getAllRecipients()); tsp.close(); } public static Message createMessage(Session session) throws Exception{ MimeMessage message=new MimeMessage(session); message.setFrom(new InternetAddress("[email protected]")); message.setRecipient(Message.RecipientType.TO,new InternetAddress("[email protected]")); message.setSubject("圖片"); MimeBodyPart text=new MimeBodyPart(); text.setContent("悅目嗎?<br/><img src='cid:xx.jpg'>","text/html;charset=utf-8"); MimeBodyPart image=new MimeBodyPart(); image.setDataHandler(new DataHandler(new FileDataSource("src//f.jpg"))); image.setContentID("xx.jpg"); MimeMultipart mm=new MimeMultipart(); mm.addBodyPart(text); mm.addBodyPart(image); mm.setSubType("related"); message.setContent(mm); message.saveChanges(); return message; } }
(3)JavaMail郵件發送內容、圖片和附件
public class SendAttchImageMail { public static void main(String[] args) throws Exception { //屬性文件 Properties props=new Properties(); //設置郵件的發送主機名、發送協定和能否驗證 props.setProperty("mail.host","smtp.sohu.com" ); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.smtp.auth", "true"); //獲得發送吸收郵件情況的對象 Session session=Session.getInstance(props); Message message=createMessage(session); //創立發送郵件的對象 Transport tsp=session.getTransport(); tsp.connect("jb51", "jb51"); tsp.sendMessage(message, message.getAllRecipients()); tsp.close(); } public static Message createMessage(Session session) throws Exception{ MimeMessage message=new MimeMessage(session); message.setFrom(new InternetAddress("[email protected]")); message.setRecipient(Message.RecipientType.TO,new InternetAddress("[email protected]")); message.setSubject("圖片"); MimeBodyPart text=new MimeBodyPart(); text.setContent("悅目嗎?<br/><img src='cid:xx.jpg'>","text/html;charset=utf-8"); MimeBodyPart image=new MimeBodyPart(); image.setDataHandler(new DataHandler(new FileDataSource("src//f.jpg"))); image.setContentID("xx.jpg"); MimeBodyPart attch=new MimeBodyPart(); DataHandler dh=new DataHandler(new FileDataSource("src//默默無 語.mp3")); attch.setDataHandler(dh); String name=dh.getName(); attch.setFileName(MimeUtility.encodeText(name)); MimeMultipart mm=new MimeMultipart(); mm.addBodyPart(text); mm.addBodyPart(image); mm.setSubType("related"); MimeBodyPart part=new MimeBodyPart(); part.setContent(mm); MimeMultipart m=new MimeMultipart(); m.addBodyPart(part); m.addBodyPart(attch); m.setSubType("mixed"); message.setContent(m); message.saveChanges(); return message; } }
注:郵箱地址必需是真實的
願望本文所述對年夜家的java法式設計有所贊助。