1.首先导入所需要的jar包,在pom.xml加入
<!--发送邮件的jar包-->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
2.发送邮件的代码:
import javax.mail.Address;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public String sendMail(String email) {
String result = "{\"result\":%b,\"msg\":\"%s\"}";
String from = "发邮件人邮箱地址"; //邮件发送人的邮件地址
String to = email; //需要发送邮件的地址
String username = "发邮件人邮箱地址"; //邮件发送人的邮件地址
String password = "密码"; //发件人的邮件密码
int ran = (int)(Math.random()*(9999-1000+1))+1000;//产生1000-9999的随机数
//定义Properties对象,设置环境信息
Properties props = new Properties();
//设置邮件服务器的地址
props.setProperty("mail.smtp.host","smtp.mxhichina.com");//指定的smtp服务器 指定发送邮件的主机smtp.qq.com(QQ)|smtp.163.com(网易)
props.setProperty("mail.smtp.auth","true");
props.setProperty("mail.transport.protocol","smtp"); //设置发送邮件使用的协议
//创建Session对象,session对象表示整个邮件的环境信息
try {
Session session = Session.getInstance(props);
//设置输出调试信息
session.setDebug(true);
//Message的实例对象表示一封电子邮件
MimeMessage message = new MimeMessage(session);
//设置发件人的地址
message.setFrom(new InternetAddress(from));
//设置主题
message.setSubject("获取验证码");
//设置邮件的文本内容
String context = "验证码:%d,如非本人操作请忽略本短信。";
context = String.format(context,ran);
message.setContent(context,"text/html;charset=utf-8");
//从session的环境中获取发送邮件的对象
Transport transport = session.getTransport();
//连接邮件服务器
transport.connect("smtp.mxhichina.com",25,username,password);
//设置收件人地址,并发送消息
transport.sendMessage(message,new Address[]{new InternetAddress(to)});
transport.close();
return String.format(result,true,"发送成功");
} catch (Exception e) {
e.printStackTrace();
return String.format(result,false,e.getMessage());
}
}