第一步,導入JAR包,JAR包下載地址[http://pan.baidu.com/s/1kVRvGyF]html
若是是Maven,請直接在Pom文件中加入java
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.0</version>
</dependency>若是是SpringBoot,請直接在Pom文件中加入spring
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
正式代碼:服務器
首先書寫一個工具類:session
MailUtildom
1 import javax.mail.*; 2 import javax.mail.internet.InternetAddress; 3 import javax.mail.internet.MimeMessage; 4 import java.util.Properties; 5 6 /** 7 * 郵件工具類 8 */ 9 public class MailUtil { 10 /** 11 * 發送郵件 12 * @param to 給誰發 13 * @param text 發送內容 14 */ 15 public static void send_mail(String to,String text) throws MessagingException { 16 //建立鏈接對象 鏈接到郵件服務器 17 Properties properties = new Properties(); 18 //設置發送郵件的基本參數 19 //發送郵件服務器(注意,此處根據你的服務器來決定,若是使用的是QQ服務器,請填寫smtp.qq.com) 20 properties.put("mail.smtp.host", "smtp.huic188.com"); 21 //發送端口(根據實際狀況填寫,通常均爲25) 22 properties.put("mail.smtp.port", "25"); 23 properties.put("mail.smtp.auth", "true"); 24 //設置發送郵件的帳號和密碼 25 Session session = Session.getInstance(properties, new Authenticator() { 26 @Override 27 protected PasswordAuthentication getPasswordAuthentication() { 28 //兩個參數分別是發送郵件的帳戶和密碼(注意,若是配置後不生效,請檢測是否開啓了 POP3/SMTP 服務,QQ郵箱對應設置位置在: [設置-帳戶-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務]) 29 return new PasswordAuthentication("admin@huic188.com","這裏寫你的帳號的密碼"); 30 } 31 }); 32 33 //建立郵件對象 34 Message message = new MimeMessage(session); 35 //設置發件人 36 message.setFrom(new InternetAddress("admin@huic188.com")); 37 //設置收件人 38 message.setRecipient(Message.RecipientType.TO,new InternetAddress(to)); 39 //設置主題 40 message.setSubject("這是一份測試郵件"); 41 //設置郵件正文 第二個參數是郵件發送的類型 42 message.setContent(text,"text/html;charset=UTF-8"); 43 //發送一封郵件 44 Transport.send(message); 45 } 46 }
測試類:ide
TEST:spring-boot
import javax.mail.MessagingException; /** * 測試類 */ public class Test { public static void main(String[] args) { try {
// 請將此處的 690717394@qq.com 替換爲您的收件郵箱號碼 MailUtil.send_mail("690717394@qq.com", String.valueOf(Math.random() * 999)); System.out.println("郵件發送成功!"); } catch (MessagingException e) { e.printStackTrace(); } } }
測試結果: 正常發送!