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);

 

你可能感兴趣的:(Java Mail实例学习笔记)