一、打開html
P0P3/SMTP/IMAPjava
二、開發工具類web
CodeUtils.java
package com.demo.mymail.utils; import java.util.UUID; public class CodeUtils { public static String generateUniqueCode(){ return UUID.randomUUID().toString().replaceAll("-", ""); } }
MailUtils.java
package com.demo.mymail.utils; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import com.sun.mail.util.MailSSLSocketFactory; public class MailUtils implements Runnable { private String uName="XXXXXX@163.com"; private String authorCode="my1075125776"; private String email; private String msg; public MailUtils(String email, String msg) { this.email = email; this.msg = msg; } public void run() { // 配置 Properties prop=new Properties(); // 設置郵件服務器主機名,這裏是163 prop.put("mail.host","smtp.163.com" ); // 發送郵件協議名稱 prop.put("mail.transport.protocol", "smtp"); // 是否定證 prop.put("mail.smtp.auth", true); try { // SSL加密 MailSSLSocketFactory sf = null; sf = new MailSSLSocketFactory(); // 設置信任全部的主機 sf.setTrustAllHosts(true); prop.put("mail.smtp.ssl.enable", "true"); prop.put("mail.smtp.ssl.socketFactory", sf); // 建立會話對象 Session session = Session.getDefaultInstance(prop, new Authenticator() { // 認證信息,須要提供"用戶帳號","受權碼" public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(uName, authorCode); } }); // 是否打印出debug信息 session.setDebug(true); // 建立郵件 Message message = new MimeMessage(session); // 郵件發送者 message.setFrom(new InternetAddress(uName)); // 郵件接受者 message.addRecipient(Message.RecipientType.TO, new InternetAddress(email)); // 郵件主題 message.setSubject("私人郵件"); message.setContent(msg, "text/html;charset=UTF-8"); // Transport.send(message); // 郵件發送 Transport transport = session.getTransport(); transport.connect(); transport.sendMessage(message, message.getAllRecipients()); transport.close(); } catch (Exception e) { e.printStackTrace(); } } }
三、引入工具包spring
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency>
四、調用服務服務器
package com.demo.mymail.controller; import com.demo.mymail.utils.MailUtils; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/mymail/mail/") public class MailController { /** * 發送郵件 * @return */ @GetMapping("send") public void send() { String msg = "<html><head></head><body><h1>LIUJIANJIAN</h1><h3><a href='https://www.baidu.com/'>友情連接</href></h3></body></html>"; new Thread(new MailUtils("1075125776@qq.com", msg)).start(); } }