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

java網(wǎng)上商城開發(fā)之郵件發(fā)送功能(全)

 更新時間:2016年03月27日 14:43:38   作者:王朋波  
這篇文章主要介紹了java網(wǎng)上商城開發(fā)之郵件發(fā)送功能,第一部分介紹了環(huán)境配置,第二部分則介紹了具體實現(xiàn)代碼,感興趣的小伙伴們可以參考一下

最近在學(xué)習(xí)網(wǎng)上商城時,接觸到了一個郵件發(fā)送的功能。之前一直在使用郵箱進行發(fā)送郵件,但是其中的具體如何運轉(zhuǎn)的卻不知道是怎么回事。那么郵件發(fā)送究竟是怎么一回事呢?

郵件發(fā)送過程:

過程描述:首先是發(fā)送人將郵件通過客戶端軟件發(fā)送到特定的服務(wù)器上,然后通過電子郵件簡單傳輸協(xié)議(SMTP)來進行傳輸,收件人通過POP3協(xié)議將郵件從服務(wù)器上接受回來。這樣就實現(xiàn)了郵件之間的相互傳送。

實現(xiàn)過程:

在有網(wǎng)絡(luò)的情況下,我們可以直接使用搜狐、網(wǎng)易等郵箱進行發(fā)送。那么如何在沒有網(wǎng)絡(luò)的情況下,實現(xiàn)內(nèi)部之間的發(fā)送呢?

 首先需要安裝配置一個服務(wù)器,視頻中使用的是易郵郵件服務(wù)器,該軟件的安裝比較簡單,安裝成功之后會有一個失敗提示,如下:

      

該問題沒有影響(暫時還沒有遇到什么問題)我們的功能,可以忽略。安裝完成之后需要對其進行一些配置。先進行服務(wù)器設(shè)置,打開工具——>服務(wù)器設(shè)置:設(shè)置自己服務(wù)器地址的域名(類似于我們使用的網(wǎng)易郵箱的域名@后的163.com)

      

然后添加新賬號:設(shè)置名稱和密碼

     

添加之后的效果如下:

    

服務(wù)器配置完成之后,進行客戶端的安裝與配置,因為本機已經(jīng)安裝了foxmail的最新版本,為了不造成混亂,所以用foxmail6.5進行設(shè)置,其中安裝過程不再敘述。

首先要新添加用戶賬戶(如果在安裝過程中已經(jīng)設(shè)置了測試的用戶就不用再添加),填入測試的賬戶,如下:

    

點擊下一步,設(shè)置服務(wù)類型和服務(wù)器,這里需要注意服務(wù)器的配置,由于自己是在本地進行郵件傳送,所以發(fā)、送郵件服務(wù)器都設(shè)置為本地:localhost。

    

設(shè)置好之后,下一步,進行測試:

    

成功之后即可關(guān)閉配置,此時配置基本上就完成了

    

在此次配置過程中需要注意:

      1、配置服務(wù)器的域名,并且添加一些賬戶

      2、配置客戶端時,注意接收服務(wù)器地址的設(shè)置、服務(wù)器類型等問題。

 至此,我們發(fā)送郵件所需要的環(huán)境已經(jīng)配置完成,具體的代碼實現(xiàn)過程,將在下篇進行詳細介紹。通過這次的學(xué)習(xí),了解了郵件服務(wù)的基本原理,知道了我們平常發(fā)送郵件的過程。同時,也讓自己對一些服務(wù)器設(shè)置、域名及類型有了新的認識,之前也曾遇到過foxmail無法工作的問題,現(xiàn)在基本上知道其問題處在何處了。知識,總是在不斷的實踐中獲得的,而且是需要不斷的反復(fù)學(xué)習(xí)和鍛煉。

以上基本上將發(fā)送的原理說了一下,以及如何進行配置郵件服務(wù)。下面主要說一下發(fā)送郵件的一些具體的實現(xiàn)過程。

代碼實現(xiàn)發(fā)送過程主要分為三個步驟:

第一步是獲得連接,通過java中的Properties類來進行讀取配置文件,調(diào)用基類的一些方法進行基礎(chǔ)的設(shè)置以及連接設(shè)置。

 // 1、獲得連接 
  Properties props=new Properties();//Properties是java中的一個重要的類,主要用于讀取java的配置文件 
  //設(shè)置連接的服務(wù)器 
  props.setProperty("mail.host", "localhost");//調(diào)用Hashtable的方法put,通過調(diào)用基類的put方法來設(shè)置鍵值對 
  Session session=Session.getInstance(props, new Authenticator(){ 
 
  @Override 
  protected PasswordAuthentication getPasswordAuthentication() { 
   // TODO Auto-generated method stub 
   //設(shè)置自己的服務(wù)郵件地址和密碼 
   return new PasswordAuthentication("service@pengbo.com","1"); 
  }   
   
  }); 

第二步是進行創(chuàng)建郵件對象,主要是通過Message這個載體進行封裝信息,Message是一個抽象類,已知的實現(xiàn)類有MimeMessage。   

// 2、創(chuàng)建郵件對象 
  Message message=new MimeMessage(session); 
// 設(shè)置發(fā)送人 
  try { 
   //設(shè)置服務(wù)端 
  message.setFrom(new InternetAddress("service@pengbo.com")); 
//  設(shè)置收件人 
  message.addRecipient(RecipientType.TO, new InternetAddress(to)); 
//  設(shè)置標(biāo)題 
  message.setSubject("購物激活郵件"); 
//  設(shè)置郵件正文 
  message.setContent("<h1>購物激活郵件,點下面鏈接完成激活操作!</h1><h3><a >http://192.168.21.84:8080/shop/user_active.action?code="+code+"</a></h3>", "text/html;charset=UTF-8"); 

第三步是發(fā)送郵件

// 3、發(fā)送郵件 
Transport.send(message); 
這樣發(fā)送郵件的主要流程就實現(xiàn)了,然后在此類中定義主方法: 

public static void main(String[] args){ 
  //要發(fā)送的對象及驗證碼 
   sendMail("a@pengbo.com","11111111"); 
  } 
 在Service層進行調(diào)用郵件發(fā)送的方法即可: 

// 發(fā)送激活郵件 
  MailUitls.sendMail(user.getEmail(), code); 
 

具體的知識積累:

       1、Properties  主要獲取配置文件信息,主要的方法有g(shù)etProperty ( String key)、load ( InputStream inStream)、setProperty ( String key, String value)、store ( OutputStream out, String comments)、clear ()

       2、Session  是一對配置信息的集合,主要作用是接收各種配置屬性信息,初始化JavaMail環(huán)境

       3、Message  是一個抽象類,它實現(xiàn)接口Part,并定義了一些屬性

       4、transport是指傳輸郵件,與之對應(yīng)的是store存儲功能。 

    功能雖然實現(xiàn)了,但是其中用到的一些類還需要進行深入的學(xué)習(xí)和研究。就目前而言,僅僅有了一個入門,知道了在JavaMail中,有Properties、Session、Message這幾個重要的類。

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

相關(guān)文章

最新評論