看了些别人写的代码,他们会把邮件的各个属性用javaBean(getXXX()/setXXX())包装起来,然后各种调用。
不同业务有不用需求,反正殊途同归,精简事例如下(自己发给自己):
1. 下载javax.mail.jar
2. 代码如下:
public class MailTuesday {
// 邮件内容
private final static String FROM = "it@xxx.com";
private final static String TO = "it@xxx.com";
private final static String CC = "it@xxx.com";
private final static String SUBJECT = "test";
private final static String CONTENT = "test";
// SMTP邮件服务器
private final static String HOST = "xxx.xxx.xxx.xx";
// SMTP邮件服务器默认端口
private final static String PORT = "26";
//邮箱用户信息
private final static String USERNAME = "it@xxx.com";
private final static String PASSWORD = "12345#";
//
public static void main(String[] args){
// 用于连接邮件服务器的参数配置
Properties props = new Properties();
props.put("mail.smtp.host", HOST);
props.put("mail.smtp.port", PORT);
// 根据参数配置,创建会话对象
Session session= Session.getDefaultInstance(props);
// 创建邮件对象
MimeMessage message = new MimeMessage(session);
try {
// 完善邮件对象(添加邮件参数)
message.setFrom(FROM);
message.setRecipients(MimeMessage.RecipientType.TO, TO);
message.setRecipients(MimeMessage.RecipientType.CC, CC);
message.setSubject(SUBJECT, "UTF-8");
message.setContent(CONTENT, "text/html;charset=UTF-8");
message.setSentDate(new Date());
message.saveChanges();
// 链接邮件服务器,并发送邮件,完成后关闭链接
Transport transport = session.getTransport("smtp");
transport.connect(HOST, USERNAME, PASSWORD);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}