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