1.准备好包,到sun.com下载jmail1.4.2的jar包,下载解压后,将Mail.jar包拷贝到您的java工程,如helloworld
2.打开测试的java工程,将Mail.jar包加入.新建一个类Email
3.在类中分别设置关键的类的实例及其属性。如Session,Message,Transport,Properties等,详见下方.
4.运行测试.
5.小结:在调试过程中,会出一个小小的错误,提示找不到类的错误,这时是jMail1.4.2与j2ee5.Lib库中的类发生冲突,只要删除j2ee5.Lib库即可。
6.附:运行环境eclipse3.3+jdk1.6+jmail1.4.2
import java.util.Date;
import java.util.Properties;
import java.io.*;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Email {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
InternetAddress[] address=null;
String mailServer="smtp.163.com";
String From="[email protected]";
String To="[email protected]";
String subject="this is a test";
String content="hello,my email";
Transport transport;
boolean sessionDebug=false;
try{
Properties props=new Properties();//也可用Properties props = System.getProperties();
props.put("mail.smtp.host","smtp.163.com");//存储发送邮件服务器的信息
props.put("mail.smtp.auth","true");//同时通过验证
Session s=Session.getInstance(props);//根据属性新建一个邮件会话
s.setDebug(true);
MimeMessage message=new MimeMessage(s);//由邮件会话新建一个消息对象
//设置邮件
InternetAddress from=new InternetAddress(From);
message.setFrom(from);//设置发件人
InternetAddress to=new InternetAddress(To);
message.setRecipient(Message.RecipientType.TO,to);//设置收件人,并设置其接收类型为TO
message.setSubject(subject);//设置主题
message.setText(content);//设置信件内容
message.setSentDate(new java.util.Date());//设置发信时间
//发送邮件
message.saveChanges();//存储邮件信息
transport=s.getTransport("smtp");
transport.connect("smtp.163.com","abcdefg","123456");//以smtp方式登录邮箱
transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有
//已设好的收件人地址
props.put("mail.smtp.quitwait", "false");
transport.close();
System.out.println("email send ok.");
}
catch(MessagingException mex)
{
mex.printStackTrace();
}
}
}