程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 基於JavaMail API收發郵件的辦法

基於JavaMail API收發郵件的辦法

編輯:關於JAVA

基於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法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved