pom依赖
spring下
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
springboot下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2、登陆邮箱,启动POP3服务,获取一个授权码
3、写配置文件
编写配置文件
#你的网页使用的邮箱
emailUser=xxxxxxxxx@163.com
#开启POP3时获取的那个授权码
emailPwd=XXXXXXXXXXXXXX
#邮箱的smtp服务器
emailHost=smtp.163.com
#是否使用密码认证
emailAuth=true
#通信协议
emailProtocol=smtp
#通信端口号
emailPort=25
常用邮箱的POP3服务器和端口
网易163邮箱
POP3:pop.163.com
SMTP:smtp.163.com
SMTP端口号:25
网易vip.163邮箱
POP3:pop.vip.163.com
SMTP:smtp.vip.163.com
SMTP端口号:25
QQ邮箱
POP3:pop.qq.com
SMTP:smtp.qq.com
SMTP端口号:25
网易126邮箱
POP3:pop.126.com
SMTP:smtp.126.com
SMTP端口号:25
网易188邮箱
POP3:pop.188.com
SMTP:smtp.188.com
SMTP端口号:25
网易yeah.net邮箱
POP3:pop.yeah.net
SMTP:smtp.yeah.net
SMTP端口号:25
新浪免费邮箱
POP3:pop.sina.com
SMTP:smtp.sina.com
SMTP端口号:25
新浪VIP邮箱
POP3:pop3.vip.sina.com
SMTP:smtp.vip.sina.com
SMTP端口号:25
新浪企业邮箱
POP3:pop.sina.com
SMTP:smtp.sina.com
SMTP端口号:25
雅虎邮箱
POP3:pop.mail.yahoo.cn
SMTP:smtp.mail.yahoo.cn
SMTP端口号:25
搜狐邮箱
POP3:pop3.sohu.com
SMTP:smtp.sohu.com
SMTP端口号:25
TOM邮箱
POP3:pop.tom.com
SMTP:smtp.tom.com
SMTP端口号:25
Gmail邮箱
POP3:pop.gmail.com
SMTP:smtp.gmail.com
SMTP端口号:587 或 25
4、发邮件的工具类
import javax.mail.Address;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.io.FileReader;
import java.util.Properties;
public class SendJMail {
/**
*
* @param to 收件人
* @param emailMsg 右键内容
* @return
*/
public static boolean sendMail(String to, String emailMsg) {
try {
//实例化配置文件
Properties p = new Properties();
p.load(new FileReader("mail.properties"));
//读取配置数据
String emailUser = p.getProperty("emailUser");
String emailPwd = p.getProperty("emailPwd");
String emailHost = p.getProperty("emailHost");
String emailAuth = p.getProperty("emailAuth");
String emailProtocol = p.getProperty("emailProtocol");
int emailPort = Integer.parseInt(p.getProperty("emailPort"));
//获取系统环境信息
Properties props = System.getProperties();
//设置邮件服务器
props.setProperty("mail.smtp.host", emailHost);
//设置密码认证
props.setProperty("mail.smtp.auth", emailAuth);
//设置传输协议
props.setProperty("mail.transport.protocol", emailProtocol);
//创建session对象
Session session = Session.getInstance(props);
//设置输出日志
session.setDebug(true);
//邮件发送对象
MimeMessage message = new MimeMessage(session);
//设置发件人
message.setFrom(new InternetAddress(emailUser));
//设置邮件主题
message.setSubject("HelloWorld");
//设置邮件内容
message.setText("First POP3 mail!!!");
//如果带网页内容使用Content发送
message.setContent((emailMsg),"text/html;charset=utf-8");
//获取邮件发送管道
Transport transport=session.getTransport();
//连接管道
transport.connect(emailHost,emailPort, emailUser, emailPwd);
//发送邮件
transport.sendMessage(message,new Address[]{new InternetAddress(to)});
//关闭管道
transport.close();
return true;
}
catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static void main(String[] args) {
sendMail("ceshitest@qq.com","123");
}
}
5、测试
右键测试运行