Java實現郵件發送驗證碼等信息


首先需要准備的東西 我這里以QQ郵箱為例:

點擊設置->賬戶,找到這個頁面

 

 

 拿到授權碼 並保存好

 

 

然后代碼如下:

package com.assetManage.tusdt.utils;

import javax.mail.*;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class MailUtil {
    public static void main(String[] args) {
        sendMail("郵件接收者@qq.com","發送的信息");
    }

    /**
     * 外網郵件發送
     *
     * @param to
     * @param code
     */
    public static void sendMail(String to, String code) {


        // Session對象:
        Properties props = new Properties();
        props.setProperty("mail.smtp.host", "smtp.qq.com"); // 設置主機地址
        // smtp.163.com
        // smtp.qq.com
        // smtp.sina.com
        props.setProperty("mail.smtp.auth", "true");// 認證
        // 2.產生一個用於郵件發送的Session對象
        Session session = Session.getInstance(props);

        // Message對象:
        Message message = new MimeMessage(session);
        // 設置發件人:
        try {

            // 4.設置消息的發送者
            Address fromAddr = new InternetAddress("郵件發送者@qq.com");
            message.setFrom(fromAddr);

            // 5.設置消息的接收者 nkpxcloxbtpxdjai
            Address toAddr = new InternetAddress(to);
            // TO 直接發送 CC抄送 BCC密送
            message.setRecipient(MimeMessage.RecipientType.TO, toAddr);

            // 6.設置主題
            message.setSubject("來自*****系統的驗證碼");
            // 7.設置正文
            message.setContent("這里是郵件的正文信息\n\n您的驗證碼為:" + code, "text/html;charset=UTF-8");

            // 8.准備發送,得到火箭
            Transport transport = session.getTransport("smtp");
            // 9.設置火箭的發射目標
            //transport.connect("smtp.163.com", "發送者@163.com", "biaobaiqiang123");
            transport.connect("smtp.qq.com", "發送者@qq.com", "jxzkgctb*******");//jxzk..這個就是你的授權碼
            // 10.發送
            transport.sendMessage(message, message.getAllRecipients());

            // Transport對象:
           // Transport.send(message);
        } catch (AddressException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }

    }
}

 

上面需要修改郵件發送者的郵箱和授權碼,郵件接收者,郵件內容, 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM