相對于的jar包
<!-- Emaill郵件發送-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
代碼
package com.item.demoMin;
import com.sun.mail.util.MailSSLSocketFactory;
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 java.util.Properties;
public class QQEmail implements Runnable{
String email;
public QQEmail(String email) {
this.email = email;
}
public void run() {
// 1.建立連接配接對象javax.mail.Session
// 2.建立郵件對象 javax.mail.Message
// 3.發送一封激活郵件
String from = "[email protected]";// 發件人電子郵箱
String host = "smtp.qq.com"; // 指定發送郵件的主機smtp.qq.com(QQ)|smtp.163.com(網易)
Properties properties = System.getProperties();// 擷取系統屬性
properties.setProperty("mail.smtp.host", host);// 設定郵件伺服器
properties.setProperty("mail.smtp.auth", "true");// 打開認證
properties.setProperty("mail.smtp.port", "25");//不加這個則一樣是預設25端口
try {
//QQ郵箱需要下面這段代碼,163郵箱不需要
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
properties.put("mail.smtp.ssl.enable", "true");
properties.put("mail.smtp.ssl.socketFactory", sf);
// 1.擷取預設session對象
Session session = Session.getDefaultInstance(properties, new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]", "vfgqzlrqcyivcdss"); // 發件人郵箱賬号、授權碼
}
});
// 2.建立郵件對象
Message message = new MimeMessage(session);
// 2.1設定發件人
message.setFrom(new InternetAddress(from));
// 2.2設定接收人
message.addRecipient(Message.RecipientType.TO, new InternetAddress(email));
// 2.3設定郵件主題
message.setSubject("模拟郵件");
// 2.4設定郵件内容
String content = "<html><head></head><body><h1>"
+ "模拟郵件 Over"
+ "</h1></href></h3></body></html>";
message.setContent(content, "text/html;charset=UTF-8");
// 3.發送郵件
Transport.send(message);
System.out.println("郵件成功發送!");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new QQEmail("[email protected]").run();
}
}