JAVA實現郵件發送功能(帳號註冊驗證碼、帳號激活等)

第一步,導入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(); } } }
測試結果: 正常發送!
相關文章
相關標籤/搜索