需要一个Mail包
<!-- Javamail -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.4</version>
</dependency>
工具类代码
只需要将“需要修改”的注释的代码处,修改成自己的即可使用
我用的是 163 邮箱,用别邮箱,就更改即可
import javax.mail.Address;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class MailUtil {
/**
*
* @param to 收件人
* @param subject 主题
* @param content 内容
* @throws Exception
*/
//实现邮件发送的方法
public static void sendMsg(String to ,String subject ,String content) throws Exception{
Properties props = new Properties();
props.setProperty("mail.smtp.host", "smtp.163.com"); //需要修改主机地址如: smtp.qq.com smtp.sina.com smtp.163.com 用那个邮箱发送写那个
props.setProperty("mail.smtp.auth", "true");//授权认证 代码客户端访问 必须设置为true 需要手机验证
//2.产生一个用于邮件发送的Session对象
Session session = Session.getInstance(props);
//3.产生一个邮件的消息对象
MimeMessage message = new MimeMessage(session);
//4.设置消息的发送者
Address fromAddr = new InternetAddress("你自己的邮箱"); //需要修改
message.setFrom(fromAddr);
//5.设置消息的接收者
Address toAddr = new InternetAddress(to);
//TO 直接发送 CC抄送 BCC密送
message.setRecipient(MimeMessage.RecipientType.TO, toAddr);
//6.设置主题
message.setSubject(subject);
//7.设置正文
message.setText(content);
//8.准备发送,得到火箭
Transport transport = session.getTransport("smtp");
//9.设置火箭的发射目标 发送的主机地址 使用谁发送 授权码
transport.connect("smtp.163.com", "你自己的邮箱", "你自己的授权码"); //需要修改密码 授权密码!=登陆密码
//10.发送
transport.sendMessage(message, message.getAllRecipients());
//11.关闭
transport.close();
}
/**
* 测试发送邮件
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
try {
MailUtil.sendMsg("接收邮件的邮箱" , "Java代码调用测试", "看到即成功~");
System.out.println("发送成功!请查看邮箱");
} catch (Exception e) {
e.printStackTrace();
System.out.println("发送失败!!");
}
}
}