Java Mail学习整理
1.加载jar包 mail.jar , commons-email-X.X.jar , activation.jar <dependency> <groupId>commons-email</groupId> <artifactId>commons-email</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> 2.写个mail对象 package com.study.bean; import java.io.Serializable; /** * * Mail属性实体 * */ @SuppressWarnings("serial") public class Mail { public static final String ENCODEING = "UTF-8"; private String host; // 服务器地址 private String sender; // 发件人的邮箱 private String receiver; // 收件人的邮箱 private String name; // 发件人昵称 private String username; // 账号 private String password; // 密码 private String subject; // 主题 private String message; // 信息(支持HTML) public String getHost() { return host; } public void setHost(String host) { this.host = host; } public String getSender() { return sender; } public void setSender(String sender) { this.sender = sender; } public String getReceiver() { return receiver; } public void setReceiver(String receiver) { this.receiver = receiver; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } 3.写个工具类 package com.study.service.impl; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; import org.apache.log4j.Logger; import com.study.bean.Mail; /** * Created by QD-ZHENGWP on 16/07/19. * * 邮件发送工具实现类 * */ public class MailUtill { protected final Logger logger = Logger.getLogger(getClass()); public boolean send(Mail mail) { // 发送email HtmlEmail email = new HtmlEmail(); try { // 这里是SMTP发送服务器的名字:163的如下:"smtp.163.com" email.setHostName(mail.getHost()); // 字符编码集的设置 email.setCharset(Mail.ENCODEING); // 收件人的邮箱 email.addTo(mail.getReceiver()); // 发送人的邮箱 email.setFrom(mail.getSender(), mail.getName()); // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码 email.setAuthentication(mail.getUsername(), mail.getPassword()); // 要发送的邮件主题 email.setSubject(mail.getSubject()); // 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签 email.setMsg(mail.getMessage()); // 发送 email.send(); if (logger.isDebugEnabled()) { logger.debug(mail.getSender() + " 发送邮件到 " + mail.getReceiver()); } return true; } catch (EmailException e) { e.printStackTrace(); logger.info(mail.getSender() + " 发送邮件到 " + mail.getReceiver() + " 失败"); return false; } } } 4.测试 public static void test(){ Mail mail = new Mail(); mail.setHost("smtp.163.com"); // 设置邮件服务器 mail.setSender("18724768857@163.com");//发件人 mail.setReceiver("sx_haokl@softbrain-offshore.com.cn"); // 接收人 mail.setUsername("18724768857@163.com"); // 登录账号,一般都是和邮箱名一样吧 mail.setPassword("haokaili1124"); // 发件人邮箱的登录密码 mail.setSubject("hello大家好"); mail.setMessage("我是小小小小鸟"); new MailUtill().send(mail); }