JavaMail是SUN提供的用于发送和接收电子邮件的编程接口
1.导入JavaMail相关包(JavaMail1.4.5为例)
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive- downloads-eeplat-419426.html#javamail-1.4.5-oth-JPR
解压后加入mail.jar包
Message类:实例对象代表一封电子邮件,发送邮件时,将要发送的数据封装到Message对象中,然后通过邮件发送api发送
出去。接收邮件时,邮件接收api将接收到的数据封装到Message对象中
Message msg=new MimeMessage(session);//根据session创建message
msg.setFrom(new InternetAddress(from));//设置邮件发送者地址,from为邮箱字符串
msg.setRecipients(Message.RecipientType.TO, address);//设置邮件接收者地址,接收者类型可以是
Message.RecipientType .TO,Message .RecipientType.CC和
Message.RecipientType.BCC,TO表示主要接收人,CC表示抄送人 ,BCC表示秘密抄送人
msg.setSubject(String)//设置消息主题
msg.setSentDate(Date)//设置邮件发送时间
msg.setText(String)//设置发送的主要内容,通过其他还可以发送其他类型的数据
Transport:邮件发送api,实例对象代表实现了某个邮件发送协议的邮件发送对象
Transport.send(Message)
Store:邮件接收api,实例对象代表实现了某个邮件接收协议的邮件接收对象
Session:收集客户端与邮件服务器建立网络连接的会话信息,如邮件服务器主机名、端口号、邮件发送协议和接收协议
等, 用来构建Transport和Store对象等
Properties props = System.getProperties();
props.put("mail.smtp.host", host); // 邮件服务器,协议
props.put("mail.smtp.auth", "true"); //通过验证方式连接邮件服务器
Session session = Session.getDefaultInstance(props,
new Authenticator(){
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(username, password); //用户名和客户端授权码
}
});
host为smtp.163.com时, 需要开启网易邮箱的smtp服务获得客户端授权密码(开启发送者邮箱)