国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

基于JAVAMAIL包的郵件發送程序----kangkang

2019-11-18 13:52:41
字體:
來源:轉載
供稿:網友

     javaMail API 是一個用于閱讀、編寫和發送電子消息的可選包(標準擴展),可以用來建立基于標準的電子郵件客戶機,它配置了各種因特網郵件協,包括SMTP 、POP 、IMAP和 MIME ,還包括相關的 NNTP 、S/MIME 及其它協議。通常開發JavaMail 程序還需要有Sun 的JavaBeans Activation Framework (JAF )。JavaBeans Activation Framework 的運行很復雜,這里簡單的說就是JavaMail 的運行必須得依靠于它的支持,比如JavaMail 利用JavaBeans Activation Framework 來處理MIME 編碼的郵件附件。JavaMail 接口包含在javax.mail 及其子包中,JavaBeans Activation Framework 接口包含在javax.activation 包中,JAF 規范是"Glasgow" JavaBeans 規范的一部分,關于JAF的更多細節,請參考JAF 指南:



http://java.sun.com/beans/glasgow/jaf.Html



   



 核心JavaMail API 由七個類組成:session 、Message 、Address 、Authenticator 、Transport 、Store 及 Folder ,它們都來自javax.mail 、即JavaMail API 頂級包。可以用這些類完成大量常見的電子郵件任務,包括發送消息、檢索消息、刪除消息、認證、回復消息、轉發消息、治理附件、處理基于HTML文件格式的消息以及搜索或過濾郵件列表。有關JavaMail 的更多信息,請參考JavaMail 指南:



http://java.sun.com/PRodUCts/javamail/




 


     類似的用javamail實現的sendmail程序,網上有很多。但筆者發現大都有一點問題。我的code在下面。調式前請確定您的機子已經安裝好JDK1.4 javamial1.3.2 和JAF。假如沒有安裝請按如下步驟安裝:



 1  從www.java.sun.com 網站上獲取最新的JDK。然后設置java環境變量。



假如是Win95/98,在/autoexec.bat的最后面添加如下3行語句:



JAVA_HOME=c:/j2sdk1.4.2



PATH=%JAVA_HOME%/bin;%PATH%



CLASSPATH=.;%JAVA_HOME%/lib



看好了CLASSPATH中第一個“.”,這個代表當前目錄,很多人HelloWorld沒有運行起來大多是這個原因。




 


假如是Win2000或者XP,使用鼠標右擊“我的電腦”->屬性->高級->環境變量



系統變量->新建->變量名:JAVA_HOME 變量值:c:/j2sdk1.4.2



系統變量->編輯->變量名:Path 在變量值的最前面加上:%JAVA_HOME%/bin;



系統變量->新建->變量名:CLASSPATH 變量值:.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar;



CLASSPATH前面的那個"."和上面的意義是一樣的。



    請調式一個helloworld來驗證安裝是否成功?



2  http://java.sun.com/products/javamail/ 下載最新的javamail。



     set CLASSPATH=%CLASSPATH%;c:/download/javamail-1.3.2/mail.jar;.



    



3   http://java.sun.com/products/javabeans/glasgow/jaf.HTML下載JAF  。



     set CLASSPATH=%CLASSPATH%;c:/download/activation/activation.jar



4   ok。終于可以先喘口氣了。 接下來開始程序部分。把if(themail.setTo("########") == false) return;中的#####號改為你自己的郵箱。 再把if(themail.addFileAffix("#######") == false) return; 中#####寫為本地的一個文件路徑。也可空著。為了更多的人學習,請大家不要修改sendMail@163.com  密碼:sendcode   本郵箱只在程序測試中使用!!



    然后,在DOS中



    javac sendMail.java



    java sendMail



    呵呵 成功!!!我的主機DOS顯示



    D:/>java  sendMail



   設置系統屬性:mail.smtp.host = smtp.163.com



   預備獲取郵件會話對象!



   預備創建MIME郵件對象!



   設置smtp身份認證:mail.smtp.auth = true



   設置郵件主題!



   設置郵件體格式



   設置收信人



   設置發信人!



   增加郵件附件:D: endMail.java



   程序得到用戶名與密碼



   正在發送郵件....



   發送郵件成功!



*************************************************************************



/**



* @author  kangkang     



* http://corncc.ikdiy.com



* 2005.4.14



*/




 


import java.util.*;



import javax.mail.*;



import javax.mail.internet.*;



import java.util.Date;



import javax.activation.*;



import java.io.*;




 



 


public class sendMail







       //  21-30行把本程序所用變量進行定義。 具體在main中對它們賦植。



private MimeMessage mimeMsg; //MIME郵件對象




 


private Session session;   //郵件會話對象



private Properties props;   //系統屬性



private boolean needAuth = false;   //smtp是否需要認證




 


private String username = "";     //smtp認證用戶名和密碼



private String passWord = "";




 


private Multipart mp;  //Multipart對象,郵件內容,標題,附件等內容均添加到其中后再生成//MimeMessage對象



public sendMail(String smtp)



{



setSmtpHost(smtp);



createMimeMessage();



}




 



 



 


/**



* @param hostName String



*/



public void setSmtpHost(String hostName)



 {



System.out.println("設置系統屬性:mail.smtp.host = "+hostName);



if(props == null)props = System.getProperties(); //獲得系統屬性對象




 


props.put("mail.smtp.host",hostName); //設置SMTP主機



}




 



 


/**



* @return boolean



*/



public boolean createMimeMessage()



{



try{



System.out.println("預備獲取郵件會話對象!");



session = Session.getDefaultInstance(props,null); //獲得郵件會話對象



}



catch(Exception e)



{



System.err.println("獲取郵件會話對象時發生錯誤!"+e);



return false;



}




 


System.out.println("預備創建MIME郵件對象!");



try{



mimeMsg = new MimeMessage(session); //創建MIME郵件對象  



mp = new MimeMultipart();           //mp   一個multipart對象



                                   //Multipart is a container that holds multiple body parts.



return true;



}



catch(Exception e)



{



System.err.println("創建MIME郵件對象失敗!"+e);



return false;



}



}




 



 



 


/**



* @param need boolean



*/



public void setNeedAuth(boolean need) {



System.out.println("設置smtp身份認證:mail.smtp.auth = "+need);



if(props == null)props = System.getProperties();

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 边坝县| 县级市| 汉源县| 平山县| 沁源县| 上蔡县| 淄博市| 汉源县| 广河县| 乌海市| 灵丘县| 湘西| 四川省| 宜宾县| 仙居县| 赤城县| 梁河县| 揭西县| 建始县| 宁城县| 钟祥市| 屏东市| 北碚区| 台湾省| 肇州县| 汝城县| 比如县| 绵竹市| 呼图壁县| 靖宇县| 浮梁县| 孟州市| 辰溪县| 寿宁县| 景东| 托里县| 兴城市| 武川县| 巨野县| 盘山县| 平罗县|