欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java發(fā)送郵件示例講解

 更新時(shí)間:2016年03月15日 11:47:54   作者:鄭宏鑫erke  
這篇文章主要為大家詳細(xì)介紹了java發(fā)送郵件示例的全過(guò)程,溫習(xí)郵件協(xié)議,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例講解了java發(fā)郵件的詳細(xì)過(guò)程,供大家參考,具體內(nèi)容如下

1、郵件協(xié)議

發(fā)郵件的:SMTP (Simple Mail Transport  Protocal)

收郵件的協(xié)議:pop3 (Post Office Protocal 3)

IMAP 新協(xié)議 發(fā)郵件也可以收郵件。

(一步步的與服務(wù)器交互)

SMTP :

2、收發(fā)郵件的過(guò)程:

一般情況下,smtp和pop3是兩個(gè)服務(wù)器(主機(jī))。

Smtp郵件的端口為25。

POP3 端口 為110。

發(fā)郵件示例

1)、安裝foxmail:

2)、發(fā)郵件時(shí),要對(duì)用戶名和密碼進(jìn)行base64編碼

 //對(duì)用戶名和密碼進(jìn)行base64編碼

 @Test

 public void base64(){
 String name = "wj_leaf12345";
 String pwd = "1qaz2wsx";
 BASE64Encoder en = new BASE64Encoder();
 name = en.encode(name.getBytes());
 pwd = en.encode(pwd.getBytes());
 System.err.println(name);
 System.err.println(pwd);

 }

3)、通過(guò)java代碼發(fā)郵件

用java發(fā)郵件,必須要導(dǎo)入新的包

       mail.jar – 發(fā)郵件的核心包

       activation.jar – 對(duì)用戶和密碼加密.

       在mail.jar中有三個(gè)核心類:

       Javax.mail.Session – 是指與郵件服務(wù)器會(huì)話。整個(gè)項(xiàng)目中只要一個(gè)就可以了.

       Javax.mail.Message(接口) —準(zhǔn)備發(fā)送數(shù)據(jù)信息。

       MimeMessage - 可以設(shè)置類型的數(shù)據(jù)信息。

       Transport – 它擁有一個(gè)方法可以發(fā)送Message。

第一步:導(dǎo)入兩個(gè)jar包

第二步:發(fā)簡(jiǎn)單的郵件

public void sendMail() throws Exception{

 //第一步:聲明properties對(duì)象放信息
 Properties prop = new Properties();
 //設(shè)置連接哪一臺(tái)服務(wù)器
 prop.setProperty("mail.host","smtp.126.com");
 //設(shè)置是否驗(yàn)證
 prop.setProperty("mail.smtp.auth", "true");
 //第二步:聲明用戶名和密碼
 Authenticator auth = new Authenticator() {
  //此訪求返回用戶和密碼的對(duì)象
  public PasswordAuthentication getPasswordAuthentication() {
  PasswordAuthentication pa =
   new PasswordAuthentication("aaa", "sss");
  return pa;

  }

 };

 ////第二步:獲取Session對(duì)象
 Session session =
  Session.getDefaultInstance(prop,auth);
 //設(shè)置session的調(diào)試模式
 session.setDebug(true);
 //第三步:聲明信息
 MimeMessage mm1 =
  new MimeMessage(session);
 

 //第四步:設(shè)置發(fā)件人email
 Address from = new InternetAddress("wj@126.com");
 mm1.setFrom(from);
 //第五步:設(shè)置收件人
 mm1.setRecipient(RecipientType.TO,new InternetAddress("wj@163.com"));
 mm1.setRecipient(RecipientType.CC, new InternetAddress("554@qq.com"));
 mm1.setRecipient(RecipientType.BCC, new InternetAddress("wj@ss.cn"));
 //第六步:設(shè)置主題
 mm1.setSubject("這是用Java發(fā)的郵件3");
 mm1.setContent("你好,這是用java發(fā)的郵件,3333再試一下", "text/plain;charset=UTF-8");
 //第七步:
 Transport.send(mm1);

 }

 

第三步:v發(fā)帶有超連接的郵件

mm1.setSubject("這是用Java發(fā)的郵件sfasdf3");

 mm1.setContent("你好,這是用java發(fā)的郵件,<a text/html;charset=UTF-8" );
 //第七步:

 Transport.send(mm1);

第四步:符件的郵件

public void sendFile() throws Exception{

 Properties p = new Properties();
 p.setProperty("mail.host","smtp.163.com");
 p.setProperty("mail.smtp.auth","true");
 Session s = Session.getDefaultInstance(p,new Authenticator() {
  @Override
  public PasswordAuthentication getPasswordAuthentication() {
  return new PasswordAuthentication("ww", "123");

  }

 });

 s.setDebug(true); 
 //聲明MimeMessage
 MimeMessage msg = new MimeMessage(s);
 msg.setFrom(new InternetAddress("ww@163.com"));
 msg.setRecipient(RecipientType.TO, new InternetAddress("ww@126.com"));
 msg.setSubject("圖片的");
 //第一步:聲明多處理的Part
 MimeMultipart mm = new MimeMultipart();
 //第二步:聲明
 MimeBodyPart body1 = new MimeBodyPart();
 //第三步:設(shè)置符件
 DataSource ds = new FileDataSource(new File("./img/a.jpg"));
 DataHandler dh = new DataHandler(ds);
 body1.setDataHandler(dh);
 //必須要設(shè)置名稱
 body1.setFileName(MimeUtility.encodeText("美女.jpg"));
 MimeBodyPart body2 = new MimeBodyPart();
 //第三步:設(shè)置符件
 DataSource ds2 = new FileDataSource(new File("./img/b.jpg"));
 DataHandler dh2 = new DataHandler(ds2);
 body2.setDataHandler(dh2);
 //必須要設(shè)置名稱
 body2.setFileName(MimeUtility.encodeText("美女2.jpg"));
 MimeBodyPart body3 = new MimeBodyPart();
 //第三步:設(shè)置符件
 DataSource ds3 = new FileDataSource(new File("./img/m.mp3"));
 DataHandler dh3 = new DataHandler(ds3);
 body3.setDataHandler(dh3);
 //必須要設(shè)置名稱
 body3.setFileName(MimeUtility.encodeText("世紀(jì)末.mp3"));
 //將body1添加到mm
 mm.addBodyPart(body1);
 mm.addBodyPart(body2);
 mm.addBodyPart(body3);
 msg.setContent(mm);
 //發(fā)送
 Transport.send(msg);

 }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • SpringBoot服務(wù)器端解決跨域問(wèn)題

    SpringBoot服務(wù)器端解決跨域問(wèn)題

    這篇文章主要介紹了SpringBoot服務(wù)器端解決跨域問(wèn)題,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-11-11
  • Java synchronized鎖升級(jí)jol過(guò)程詳解

    Java synchronized鎖升級(jí)jol過(guò)程詳解

    這篇文章主要介紹了Java synchronized鎖升級(jí)jol過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • springboot中Excel文件下載踩坑大全

    springboot中Excel文件下載踩坑大全

    本文主要介紹了springboot中Excel文件下載,但是卻容易遇到很多坑,文中通過(guò)示例代碼介紹的非常詳細(xì),感興趣的小伙伴們可以參考一下
    2021-07-07
  • 使用maven方式創(chuàng)建springboot項(xiàng)目的方式

    使用maven方式創(chuàng)建springboot項(xiàng)目的方式

    使用Spring Initializr創(chuàng)建spring boot項(xiàng)目,因?yàn)橥饩W(wǎng)問(wèn)題導(dǎo)致很難成功,所以只能使用maven方式,這里介紹下使用maven方式創(chuàng)建springboot項(xiàng)目的方法,感興趣的朋友一起看看吧
    2022-09-09
  • 帶你快速搞定java IO

    帶你快速搞定java IO

    這篇文章主要介紹了Java IO流 文件傳輸基礎(chǔ)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下,希望能給你帶來(lái)幫助
    2021-07-07
  • Java實(shí)現(xiàn)字符串倒序輸出的四種方法匯總

    Java實(shí)現(xiàn)字符串倒序輸出的四種方法匯總

    這篇文章主要介紹了Java實(shí)現(xiàn)字符串倒序輸出的四種方法匯總,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 初學(xué)者易上手的SSH-struts2 01環(huán)境搭建(圖文教程)

    初學(xué)者易上手的SSH-struts2 01環(huán)境搭建(圖文教程)

    下面小編就為大家?guī)?lái)一篇初學(xué)者易上手的SSH-struts2 01環(huán)境搭建(圖文教程)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • Mybatis環(huán)境搭建和使用實(shí)例代碼

    Mybatis環(huán)境搭建和使用實(shí)例代碼

    MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。本文重點(diǎn)給大家介紹Mybatis的環(huán)境搭建和使用實(shí)例代碼,需要的朋友參考下吧
    2017-12-12
  • 第三方包jintellitype實(shí)現(xiàn)Java設(shè)置全局熱鍵

    第三方包jintellitype實(shí)現(xiàn)Java設(shè)置全局熱鍵

    本文主要介紹了,在java中使用第三方插件包jintellitype來(lái)實(shí)現(xiàn)全局熱鍵,非常的簡(jiǎn)單,但是很實(shí)用,有需要的朋友可以參考下,歡迎一起來(lái)參與改進(jìn)此項(xiàng)目
    2014-09-09
  • Java如何給Word文檔添加多行文字水印

    Java如何給Word文檔添加多行文字水印

    這篇文章主要介紹了Java如何給Word文檔添加多行文字水印,文章圖文講解的很清晰,有對(duì)于這方面不太懂得同學(xué)可以學(xué)習(xí)下
    2021-02-02

最新評(píng)論