我们知道发送一封电子邮件,需要设置smtp服务器信息,编写邮件内容,最后发送邮件。
一、设置邮件服务器信息
Properties props = new Properties();
props.put("mail.smtp.host","smtp.163.com");
props.put("mail.smtp.auth","true");

Session session = Session.getInstance(props,new Authenticator()...{

public PasswordAuthenticator getPasswordAuthenticator()...{
return new PasswordAuthenticator("username","password");
}
});

二、创建邮件
//由邮件会话新建一个消息对象
MimeMessage message = new Message(session);
InternetAddress from = new InternetAddress("from@163.com");
//设置发件人
message.setFrom(from);
InternetAddress to = new InternetAddress("to@163.com");
//设置邮件接收人,并设置接收类型为TO
message.setRecipient(Message.RecipientType.TO,to);
//设置主题
message.setSubject(subject);
//设置信件内容
message.setText(content);
设置发信时间
message.setSentDate(new Date());
message.saveChanges();

三、发送邮件
Transport transport = session.getTransport("smtp");
//以smtp方式登录邮箱
transport.connect("smtp.163.com","username","password");
//发送邮件
transprot.sendMessage(message,message.getAlRecipients());
transport.close();

四、设置邮件正文为HTML格式
//新建一个存放信件内容的BodyPart对象
BodyPart mdp = new MimeBodyPart();
//给BodyPart对象设置内容和格式/编码方式
mdp.setContent(content,"text/html;charset=gb2312");
//新建一个MimeMultipart对象用来存放BodyPart对象
MimeMultipart mm = new MimeMultipart();
mm.addBodyPart(mdp);
message.setContent(mm);

五、发送带附件的邮件
//新建一个存放附件的BodyPart
mdp = new MimeBodyPart();
//新建一个DataHandler对象,并设置其内容和格式/编码方式
//也可以是本地文件,如
//FileDataSource fds = new FileDataSource("c:/test.txt");
//DataHandler dh = new DataHandler(fds);
DataHandler dh = new DataHandler("JavaMail附件测试","text/plain;charset=gb2312");
//设置附件文件名称
mdp.setFileName("index.html");
//给BodyPart对象设置内容为dh
mdp.setDataHandler(dh);
//将含有附件的BodyPart加入到MimeMultipart对象中
mm.addBodyPart(mdp);




























































