Java Mail實例學習筆記
【一、需要安裝的環境】
JDK 1.1.6+或the Java 2 Platform, Standard Edition (J2SE) 1.2.x或1.3.x.
【二、郵件協議】
l STMP:簡單郵件協議,需要郵件服務器等。
l POP:最常用,但不提供任何支持區分郵件新舊的功能,這個要自己寫。
l IMAP:高級郵件應用協議,但Java Mail程序不能將POP的程序直接改成IMAP的。
但不要以爲IMAP協議高級強大,它最大的缺點是大大加重了郵件服務器的工作,使得用戶郵件增多時,郵件收發服務器不堪重負,而POP則不將郵件存在服務器,而是直接下載到用戶端。
l MIME:不是真的傳輸協議,但它定義了郵件以外其它信息的傳輸,如郵件格式、附件等。
l NNTP和其它協議:可能SUN和這些協議提供商沒達成合作協議,不過SUN還是預留了這些第三方的協議接口。
【三、安裝JavaMail】
以下安裝JavaMail1.2和JavaMail1.1.3是任選一個,建議安裝JavaMail1.2。
l 安裝JavaMail1.2:
下載JavaMail1.2,解壓縮javamail-1_2.zip文件,然後將mail.jar文件加到classpath中,JavaMail1.2支持SMTP、IMAP4和POP3。然後安裝JavaBean激活框架。
l 安裝JavaMail1.1.3:
下載JavaMail1.1.3,,解壓縮javamail1_1_3.zip文件,然後將mail.jar文件加到classpath中,JavaMail1.1.3支持SMTP、IMAP4。而POP的話要另行安裝pop31_1_1.zip,並將pop3.jar文件也加到classpath中。然後安裝JavaBean激活框架。
l 安裝JavaBeans Activation Framework:
下載好後,解壓縮jaf1_0_1.zip文件,並將activation.jar文件加到classpath中。
注:當然,如果不想修改classpath的話,也可以將以上文件放到JRE的lib/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);