Java Mail實例學習筆記

Java Mail實例學習筆記

【一、需要安裝的環境】

JDK 1.1.6+the Java 2 Platform, Standard Edition (J2SE) 1.2.x1.3.x.

 

【二、郵件協議】

l         STMP:簡單郵件協議,需要郵件服務器等。

l         POP:最常用,但不提供任何支持區分郵件新舊的功能,這個要自己寫。

l         IMAP:高級郵件應用協議,但Java Mail程序不能將POP的程序直接改成IMAP的。

但不要以爲IMAP協議高級強大,它最大的缺點是大大加重了郵件服務器的工作,使得用戶郵件增多時,郵件收發服務器不堪重負,而POP則不將郵件存在服務器,而是直接下載到用戶端。

l         MIME:不是真的傳輸協議,但它定義了郵件以外其它信息的傳輸,如郵件格式、附件等。

l         NNTP和其它協議:可能SUN和這些協議提供商沒達成合作協議,不過SUN還是預留了這些第三方的協議接口。

 

【三、安裝JavaMail

以下安裝JavaMail1.2JavaMail1.1.3是任選一個,建議安裝JavaMail1.2

l         安裝JavaMail1.2

下載JavaMail1.2,解壓縮javamail-1_2.zip文件,然後將mail.jar文件加到classpath中,JavaMail1.2支持SMTPIMAP4POP3。然後安裝JavaBean激活框架。

l         安裝JavaMail1.1.3

下載JavaMail1.1.3,,解壓縮javamail1_1_3.zip文件,然後將mail.jar文件加到classpath中,JavaMail1.1.3支持SMTPIMAP4。而POP的話要另行安裝pop31_1_1.zip,並將pop3.jar文件也加到classpath中。然後安裝JavaBean激活框架。

l         安裝JavaBeans Activation Framework

下載好後,解壓縮jaf1_0_1.zip文件,並將activation.jar文件加到classpath中。

注:當然,如果不想修改classpath的話,也可以將以上文件放到JRElib/ext中,比如加到C:/jdk1.3/jre/lib/ext中。

[]:如果您用的是J2EE開發的話,可以不需要如上安裝,因爲J2EE中的類已經有了這些東西,不過要提一下,對於J2EE 1.2.1的話,你如果要用到POP3則要您自己手動加POP3的包文件,方法和上面一樣,而J2EE 1.3的用戶則不需要這些工作了。但無論如何,您都要安裝JavaBeans Activation Framework這個東西。

[例子]

例如你可以用以下命令在Windows下配置:

cd /javamail-1.2

copy mail.jar /jdk1.3/jre/lib/ext

cd /jaf-1.0.1

copy activation.jar /jdk1.3/jre/lib/ext

 

【四、Java Mail開發的核心類】

Java Mail開發的核心類有:Session, Message, Address,Authenticator, Transport, Store, Folder

它們都是在javax.mail中,另外,javax.mail.internet包也用得比較多。

 

【五、第一個發送郵件的例子:】

以下是英注原文,現在大多爲需要密碼驗證的郵箱,所以該程序不可直接運行,具體例子見我發的源碼。

String host = ...;

String from = ...;

String to = ...;

// Get system properties

Properties props = System.getProperties();

// Setup mail server

props.put("mail.smtp.host", host);

// Get session

Session session = Session.getDefaultInstance(props, null);

// Define message

MimeMessage message = new MimeMessage(session);

message.setFrom(new InternetAddress(from));

message.addRecipient(Message.RecipientType.TO,

new InternetAddress(to));

message.setSubject("Hello JavaMail");

message.setText("Welcome to JavaMail");

// Send message

Transport.send(message);

 

發佈了31 篇原創文章 · 獲贊 26 · 訪問量 32萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章