QQ企業郵箱發送郵件

POP3/SMTP協議

接收郵件服務器:pop.exmail.qq.com ,使用SSL,端口號995
發送郵件服務器:smtp.exmail.qq.com ,使用SSL,端口號465
海外用戶可使用以下服務器
接收郵件服務器:hwpop.exmail.qq.com ,使用SSL,端口號995
發送郵件服務器:hwsmtp.exmail.qq.com ,使用SSL,端口號465

IMAP協議

接收郵件服務器:imap.exmail.qq.com ,使用SSL,端口號993
發送郵件服務器:smtp.exmail.qq.com ,使用SSL,端口號465
海外用戶可使用以下服務器
接收郵件服務器:hwimap.exmail.qq.com ,使用SSL,端口號993
發送郵件服務器:hwsmtp.exmail.qq.com ,使用SSL,端口號465

 

不需要郵箱授權碼 騰訊企業郵箱只需要賬號密碼就可以發送郵件

編寫java代碼:這裏只是作爲測試使用下面直接貼出我寫代碼 直接把賬號密碼改爲你的就可以直接運行 需要導入mail.jar

 

 

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

如果jdk用的是1.8版本會出現SSL錯誤:這個問題是jdk導致的,jdk1.8裏面有一個jce的包,安全性機制導致的訪問https會報錯,官網上有替代的jar包,如果替換掉就可以了.
這兩個jar包的下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
下載之後,把這個壓縮文件解壓,得到兩個jar包去覆蓋jdk安裝目錄下的jre\lib\security\下相同的jar包就能解決java8的郵件發送問題。

public static void main(String[] args) throws Exception {
        Properties prop = new Properties();
        //協議
        prop.setProperty("mail.transport.protocol", "smtp");
        //服務器
        prop.setProperty("mail.smtp.host", "smtp.exmail.qq.com");
        //端口
        prop.setProperty("mail.smtp.port", "465");
        //使用smtp身份驗證
        prop.setProperty("mail.smtp.auth", "true");
        //使用SSL,企業郵箱必需!
        //開啓安全協議
        MailSSLSocketFactory sf = null;
        try {
            sf = new MailSSLSocketFactory();
            sf.setTrustAllHosts(true);
        } catch (GeneralSecurityException e1) {
            e1.printStackTrace();
        }
        prop.put("mail.smtp.ssl.enable", "true");
        prop.put("mail.smtp.ssl.socketFactory", sf);
        //
        //獲取Session對象
        Session s = Session.getDefaultInstance(prop,new Authenticator() {
            //此訪求返回用戶和密碼的對象
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                PasswordAuthentication pa = new PasswordAuthentication("你的賬號", "密碼");
                return pa;
            }
        });
        //設置session的調試模式,發佈時取消
        s.setDebug(true);
        MimeMessage mimeMessage = new MimeMessage(s);
        try {
            mimeMessage.setFrom(new InternetAddress("你的賬號","你的賬號"));
            mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress("接收賬號"));
            //設置主題
            mimeMessage.setSubject("主題");
            mimeMessage.setSentDate(new Date());
            //設置內容
            mimeMessage.setText("正文內容");
            mimeMessage.saveChanges();
            //發送
            Transport.send(mimeMessage);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
        
    }
}

作者:earin
鏈接:https://www.jianshu.com/p/da4d0137893a
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯繫作者獲得授權並註明出處。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章