1.首先在maven坐标中导入jar包
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.5</version> </dependency>
2.工具类
public class EmailUtil { /** * @param msgSubject 设置标题 * @param msgText 编辑内容 * @param sendAddress 接收方的邮箱地址 * @return */ public static boolean sendMessage(String msgSubject,String msgText,String sendAddress){ Properties props = new Properties(); props.setProperty("mail.debug","true"); // 开启debug调试 props.setProperty("mail.smtp.auth","true"); // 发送服务器需要身份验证 props.setProperty("mail.host","smtp.qq.com"); // 设置邮件服务器主机名 props.setProperty("mail.transport.protocol","smtp"); // 发送邮件协议名称 Transport transport =null; try { MailSSLSocketFactory mailSSLSocketFactory = new MailSSLSocketFactory();// 开启SSL加密,否则会失败 mailSSLSocketFactory.setTrustAllHosts(true); props.put("mail.smtp.ssl.enable", "true"); props.put("mail.smtp.ssl.socketFactory", mailSSLSocketFactory); Session session = Session.getInstance(props); MimeMessage msg = new MimeMessage(session); msg.setSubject(msgSubject);
msg.setContent(msgText,"text/html;charset=UTF-8"); msg.setFrom(new InternetAddress("发送方的qq邮箱地址")); // 发送的邮箱地址 transport = session.getTransport(); transport.connect("smtp.qq.com","发送方的qq邮箱地址","授权码");//授权码代替密码(更安全) transport.sendMessage(msg,new Address[]{new InternetAddress(sendAddress)}); return true; } catch (Exception e) { e.printStackTrace(); return false; } finally { if (transport!=null) { try { transport.close(); } catch (MessagingException e) { e.printStackTrace(); } } } } }
3.测试类
public class SendEmailTest{
@Test
public void testSendEmail(){
if (EmailUtil.sendMessage("title", "content", "接收方的邮箱地址")) {
System.out.println("邮件发送成功!");
}else {
System.out.println("邮件发送失败!");
}
}
}
原文:https://www.cnblogs.com/xunmengjun/p/14932058.html