1. 程式人生 > >Java郵件發送(JavaMail)

Java郵件發送(JavaMail)

foxmail prot nec 郵件發送 class 甲骨文 type 獲取 公司

1. JavaMail簡介

? JavaMail 是sun公司(現以被甲骨文收購)為方便Java開發人員在應用程序中實現郵件發送和接收功能而提供的一套標準開發包,它支持一些常用的郵件協議如SMTP,POP3,IMAP等。使用JavaMail API 編寫郵件時,無須考慮郵件的底層實現細節,只要調用JavaMail 開發包中相應的API即可

?

2. maven依賴

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
</dependency>

?
?
?

3. 發送郵件

/**
 * 發送郵件
 * SMTP協議   郵件代發協議
 * POP3協議   郵件代收協議
 */
public class MyMail {
    public static void main(String[] args) throws Exception {
            sendMsg();
    }

    public static void sendMsg() throws Exception {
        Properties props = new Properties();
        //設置代發協議  smtp
        props.setProperty("mail.transport.protocol", "smtp");
        //設置新浪的smtp代發服務器
        props.setProperty("mail.smtp.host", "smtp.163.com");
        //設置端口
        props.setProperty("mail.smtp.port", "25");
        //創建會話
        Session session = Session.getInstance(props);
        //打開調試模式就有發送郵件的詳細信息了
        session.setDebug(true);

        //創建消息對象
        Message msg = new MimeMessage(session);
        //設置發送郵件的源地址
        msg.setFrom(new InternetAddress("[email protected]"));
        //設置發送郵件的目的地
        msg.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress("[email protected]"));
        //設置郵件主題
        msg.setSubject("happy new year");
        //設置郵件內容
        msg.setContent("xxx,新年快樂", "text/html;charset=utf-8");

        //獲取郵件的傳輸對象
        Transport transport = session.getTransport();
        //用戶名:郵箱地址    密碼:smtp的授權碼(千萬千萬不要在這寫密碼)
        transport.connect("[email protected]", "授權碼");
        transport.sendMessage(msg, msg.getAllRecipients());
        transport.close();
    }
}

Java郵件發送(JavaMail)