JavaMail實現簡單郵件發送

本文實例為大傢分享瞭JavaMail實現簡單郵件發送的具體代碼,供大傢參考,具體內容如下

簡單郵件

即純文本郵件,沒有除文字以外的其他所有文件。

傳輸協議

  • SMTP協議

全稱為 Simple Mail Transfer Protocol,簡單郵件傳輸協議。它定義瞭郵件客戶端軟件和SMTP郵件服務器之間,以及兩臺SMTP郵件服務器之間的通信規則。

  • POP3協議

全稱為 Post Office Protocol,郵局協議。它定義瞭郵件客戶端軟件和POP3郵件服務器的通信規則。

郵件發送原理

①SMTP郵件服務器:替用戶發送郵件和接收外面發送給本地用戶的郵件。

②POP3/IMAP郵件服務器:幫助用戶讀取SMTP郵件服務器接收進來的郵件。

③申請郵箱其實就是在郵箱的文件系統中申請一塊地址,用來存放用戶的郵件。

實現郵件發送需要使用的類

①JavaMail API(mail.jar)

②Java Activation Framework(activation.jar)

準備工作

開啟郵箱的POP3和SMTP服務,並獲取授權碼。

步驟

①準備參數

如設置郵件服務器(網易的是smtp.163.com),郵件發送協議等。

②獲取Session對象

③獲取傳輸對象transport

④登錄授權

⑤寫郵件

⑥發郵件

⑦關閉服務器資源

代碼實現

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

//發送簡單郵件
public class test1 {
    public static void main(String[] args) throws MessagingException {
        Properties properties=new Properties();
        properties.setProperty("mail.host","smtp.163.com");//設置郵件服務器
        properties.setProperty("mail.transport.protocol","smtp");//郵件發送協議
        properties.setProperty("mail.smtp.auth","true");//需要驗證用戶名密碼

        //使用JavaMail發送郵件的5個步驟
        //1、創建定義整個應用程序所需的環境信息的 Session 對象
        Session session = Session.getInstance(properties);
        //開啟Session的debug模式,這樣就可以查看到程序發送Email的運行狀態
        session.setDebug(true);
        //2、通過session得到transport對象
        Transport transport = session.getTransport();
        //3、使用郵箱的用戶名和授權碼連上郵件服務器,發送郵件時, 發件人需要提交郵箱的用戶名和密碼給smtp服務器,用戶名和密碼都通過驗證之後才能夠正常發送郵件給收件人。
        transport.connect("smtp.163.com",用戶名,授權碼);
        //4、創建郵件
        //創建一個郵件對象
        MimeMessage message=new MimeMessage(session);
        //指明郵件的發件人
        message.setFrom(new InternetAddress(發件人郵箱));
        //指明收件人
        message.setRecipient(Message.RecipientType.TO,new InternetAddress(收件人郵箱));
        //郵件標題
        message.setSubject("簡單郵件發送");
        //郵件的文本內容
        message.setText("這是一封簡單的郵件");
        //5、發送郵件
        transport.sendMessage(message,message.getAllRecipients());
        //關閉連接
        transport.close();
    }
}

運行結果

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: