【黑馬程序員濟南中心】使用javamail通過QQ郵箱發(fā)送郵件

在項目中,常常使用某一個郵箱地址作為項目對外的公共發(fā)送郵件的地址,QQ郵箱被使用的概率不大,但是QQ郵箱的配置使用卻別其他郵箱較為復雜,下面做一個簡單的demo來演示如何配置并使用QQ郵箱發(fā)送郵件

1.為QQ郵箱開通POP3/SMTP服務

2.開啟的時候需要使用你注冊的手機號向騰訊發(fā)送一個短信(按照上面提示發(fā)送),發(fā)送成功之后點擊“我已發(fā)送”

3.驗證成功之后,QQ會返回一個授權碼

4.在項目中引入javamail相關jar包

? ? demo中使用的是javax.mail-1.5.1.jar版本

5.java代碼如下:

public class MailUtils2 {

? ? ? ? private static String smtp_host ="smtp.qq.com"; // QQ SMTP服務

? ? ? ? private static String username = "使用發(fā)件人郵箱地址"; // 郵箱賬戶

? ? ? ? private static String password = "iiotqaasiaiabfgc"; // 郵箱授權碼-該授權碼就是在開啟QQPOP3/SMTP服務時返回的那串激活碼

? ? ? ? private static String from = "使用發(fā)件人郵箱地址"; // 郵箱賬戶

? ? ? ? public static void sendMail(String subject, String content, String to) {

? ? ? ? ? ? ? ? //設置發(fā)送郵件的properties

? ? ? ? ? ? ? ? Properties props = new Properties();

? ? ? ? ? ? ? ? props.setProperty("mail.smtp.host", smtp_host);

? ? ? ? ? ? ? ? props.setProperty("mail.transport.protocol", "smtp");

? ? ? ? ? ? ? ? props.setProperty("mail.smtp.auth", "true");

//? ? ? ? ? ? ? ? QQ 郵箱需要 SSL 加密

? ? ? ? ? ? ? ? props.setProperty("mail.smtp.auth", "true");

? ? ? ? ? ? ? ? props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

? ? ? ? ? ? ? ? props.setProperty("mail.smtp.port", "465");

? ? ? ? ? ? ? ? props.setProperty("mail.smtp.socketFactory.port", "465");


? ? ? ? ? ? ? ? //準備連接對象

? ? ? ? ? ? ? ? Session session = Session.getInstance(props);

? ? ? ? ? ? ? ? //創(chuàng)建郵件信息

? ? ? ? ? ? ? ? Message message = new MimeMessage(session);

? ? ? ? ? ? ? ? try {

? ? ? ? ? ? ? ? ? ? ? ? message.setFrom(new InternetAddress(from));//設置發(fā)件人

? ? ? ? ? ? ? ? ? ? ? ? message.setRecipient(RecipientType.TO, new InternetAddress(to));//設置收件人以及收件人地址

? ? ? ? ? ? ? ? ? ? ? ? message.setSubject(subject);//郵件主題

? ? ? ? ? ? ? ? ? ? ? ? message.setContent(content, "text/html;charset=utf-8");//支持富文本內(nèi)容

? ? ? ? ? ? ? ? ? ? ? ? Transport transport = session.getTransport();

? ? ? ? ? ? ? ? ? ? ? ? transport.connect(smtp_host, username, password);

? ? ? ? ? ? ? ? ? ? ? ? transport.sendMessage(message, message.getAllRecipients());//發(fā)送郵件

? ? ? ? ? ? ? ? } catch (Exception e) {

? ? ? ? ? ? ? ? ? ? ? ? e.printStackTrace();

? ? ? ? ? ? ? ? ? ? ? ? throw new RuntimeException("郵件發(fā)送失敗...");

? ? ? ? ? ? ? ? }

? ? ? ? }

? ? ? ? public static void main(String[] args) {

? ? ? ? ? ? ? ? //測試

? ? ? ? ? ? ? ? sendMail("測試郵件", "你好a", "收件人郵箱地址");

? ? ? ? }

}

5.郵箱可以正常收到


最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容