1. 程式人生 > >JavaMail QQ郵箱傳送內容+圖片

JavaMail QQ郵箱傳送內容+圖片

 String senderNick = "五月薔薇";
// 收件人電子郵箱
String to = mail;
       // 發件人電子郵箱
       String from = "[email protected]";


       // 指定傳送郵件的主機為 smtp.qq.com
       String host = "smtp.qq.com";  //QQ 郵件伺服器

       // 獲取系統屬性
       Properties properties = System.getProperties();
       
       // 設定郵件伺服器
       properties.setProperty("mail.smtp.host", host);

       properties.put("mail.smtp.auth", "true");
       MailSSLSocketFactory sf = new MailSSLSocketFactory();
       sf.setTrustAllHosts(true);
       properties.put("mail.smtp.ssl.enable", "true");
       properties.put("mail.smtp.ssl.socketFactory", sf);
       // 獲取預設session物件
       Session session = Session.getDefaultInstance(properties,new Authenticator(){
           public PasswordAuthentication getPasswordAuthentication()
           {
               return new PasswordAuthentication("
[email protected]
", "xxxxx"); //發件人郵件使用者名稱、生成授權碼
           }
       });
       try{
           // 建立預設的 MimeMessage 物件
           MimeMessage message = new MimeMessage(session);
           
           // Set From: 頭部頭欄位
           message.setFrom(new InternetAddress(from,"五月薔薇童店"));


           // Set To: 頭部頭欄位
           message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

           //新增圖片
           // 5. 建立圖片"節點"
           MimeBodyPart image = new MimeBodyPart();
           // 讀取本地檔案
           DataHandler dh = new DataHandler(new FileDataSource("F:\\3.jpg"));
           // 將圖片資料新增到"節點"
           image.setDataHandler(dh);
           // 為"節點"設定一個唯一編號(在文字"節點"將引用該ID)
           image.setContentID("mailTestPic");    
        // 6. 建立文字"節點"
           MimeBodyPart text = new MimeBodyPart();
           // 這裡新增圖片的方式是將整個圖片包含到郵件內容中, 實際上也可以以 http 連結的形式新增網路圖片
           text.setContent("<span style=\"color:red;\">正文</span><br/><img src='cid:mailTestPic'/>", "text/html;charset=UTF-8");
            
           // 7. (文字+圖片)設定 文字 和 圖片"節點"的關係(將 文字 和 圖片"節點"合成一個混合"節點")
           MimeMultipart mm_text_image = new MimeMultipart("related");
           mm_text_image.addBodyPart(text);
           mm_text_image.addBodyPart(image);
           mm_text_image.setSubType("mixed");    // 關聯關係
            
           // 8. 將 文字+圖片 的混合"節點"封裝成一個普通"節點"
           // 最終新增到郵件的 Content 是由多個 BodyPart 組成的 Multipart, 所以我們需要的是 BodyPart,
           // 上面的 mailTestPic 並非 BodyPart, 所有要把 mm_text_image 封裝成一個 BodyPart
           MimeBodyPart text_image = new MimeBodyPart();
           text_image.setContent(mm_text_image);
           // 10. 設定(文字+圖片)和 附件 的關係(合成一個大的混合"節點" / Multipart )
           MimeMultipart mm = new MimeMultipart();
           mm.addBodyPart(text_image);
           mm.setSubType("related");    
           // 11. 設定整個郵件的關係(將最終的混合"節點"作為郵件的內容新增到郵件物件)
           message.setContent(mm);
           //設定郵件的傳送時間,預設立即傳送
           message.setSentDate(new Date());
           
         /*  Tianqiyubao tian=new Tianqiyubao();
           tian.tianqi();*/


        // Set Subject: 頭部頭欄位
           message.setSubject("歡迎來選購");
           // 設定訊息體
          // message.setText(tian.weather+"\n"+tian.location+"\t"+"pm25:"+tian.pm25+"\n"+tian.jianyi+"\n"+tian.shushi+"\n"+tian.yundong+"\n"+tian.ziwx);
          // message.setText("嗨咯這是正文");  // 傳送訊息
          
           Transport.send(message);
           
           System.out.println("Sent message successfully....from runoob.com");
       }catch (Exception mex) {
           mex.printStackTrace();

       }

相關推薦

JavaMail QQ郵箱傳送內容+圖片

 String senderNick = "五月薔薇"; // 收件人電子郵箱 String to = mail;        // 發件人電子郵箱        String from = "[email protected]";        // 指定傳送郵

Java 基於JavaMail實現向QQ郵箱傳送郵件

需求 最近專案在做新聞爬蟲,想實現這個功能:爬蟲某個頁面失敗後,把這個頁面的 url 發到筆者的郵箱。最終實現的效果圖如下,後期可以加上過濾標籤、失敗狀態碼等,方便分類搜尋異常。 開發人員可以根據郵件裡的 url 和堆疊資訊,分析爬蟲失敗的原因。 是

javamail實現用普通QQ郵箱傳送郵件

本人最近在寫一個Android專案,使用者註冊的時候想用郵箱驗證的方式,於是就需要在伺服器端傳送電子郵件給新註冊使用者,郵件內容中包含一個 連結, 當用戶點選這個連結將 登入到伺服器 的驗證邏輯。本人在網上找了很多程式碼,可能由於是很久以前的了,各大郵箱的規範

Springboot2.0.4呼叫qq郵箱傳送郵件

開場白:沒記錯的話,用不同框架開發一個發郵箱的功能,都會遇到多多少少的問題,這次也不能例外,否則就沒有意義了。 今天用springboot2.0.4開發發郵件功能,遇到了以下三個坑 專案中添加了該依賴,但是仍舊找不到 下面的物件,一直說該物件沒有被發現,後來

py3傳送使用QQ郵箱傳送html附件

        #html附件  下面是將測試報告放到附件中傳送         email_text = MIMEText('測試報告')         att1 = MIMEText(mailbody,'base64','utf-8')         att1['Content-Type'] = '

CI框架中QQ郵箱傳送郵件

public function qq(){       $this->load->library('email');       $config['protocol'] = 'smtp';

Python使用QQ郵箱傳送多收件人email

實際開發過程中使用到郵箱的概率很高,那麼如何藉助python使用qq郵箱傳送郵件呢? 程式碼很簡單,短短几行程式碼就可以實現這個功能。 使用到的模組有smtplib和email這個兩個模組,關於這兩個模組的方法就不多說了。 程式碼如下: #codin

flask_email實現QQ郵箱傳送郵件

直接上程式碼 from flask import Flask from flask_mail import Mail, Message from threading import Thread #

java實現qq郵箱傳送註冊驗證碼

import javax.mail.*; import javax.mail.internet.MimeMessage;/** * * @param email 傳送郵箱驗證碼(註冊) * @return 驗證碼給前段 */ @RequestMapping(valu

PHP通過PHPMailer類庫實現QQ郵箱傳送方法

其實PHP郵箱傳送功能並非每個專案都一定用得到,但其實每個完整的專案,一般都會包含一個PHP郵箱傳送功能。 一般郵箱傳送功能普遍用於註冊啟用,密碼找回,以及留言回覆等等功能上。而且這也是很多人頭疼的問

Python SMTP模組使用QQ郵箱傳送郵件

前言:    嘗試實現《Python程式設計快速上手  讓繁瑣工作自動化》書籍中的第十六章習題部分,使用python傳送email資訊,嘗試傳送Html,附件和正文都同時存在的郵件,使用QQ郵箱,最終實現根據表格標記對不同使用者發不同郵件功能。(根據之前編寫的讀取表格示例可以

java程式碼使用QQ郵箱傳送郵件

import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message.RecipientType; import javax.mail.MessagingException; import javax.

阿里雲上的使用QQ郵箱傳送郵件

直接上程式碼了 由於阿里雲禁用了25埠所以替換成465埠並修改協議為ssl才能傳送郵件 參考我的另一篇部落格 http://blog.csdn.net/u013412790/article/details/54912506 public class Se

Java使用QQ郵箱傳送郵件

本文介紹通過java,使用QQ郵箱進行傳送郵件。 首先要開啟郵箱的SMTP服務,騰訊會給一個授權碼。 package util; import java.util.Properties; import javax.mail.Authenticator; import

Spring Boot學習(十四)之Spring boot中使用QQ郵箱傳送郵件

相信使用過Spring的眾多開發者都知道Spring提供了非常好用的JavaMailSender介面實現郵件傳送。在Spring Boot的Starter模組中也為此提供了自動化配置。下面通過例項看看如

Python用QQ郵箱傳送郵件時授權碼問題

QQ郵箱最新推出了一個授權碼,需已驗證的手機號向QQ郵箱伺服器傳送一條簡訊獲得。該授權碼用於第三方客戶端登入,代替了第三方登入時使用的個人郵箱密碼。 在測試過程中遇到兩個問題: 1.提示需建立SSL安全連線。於是將smtplib.SMTP() 改成了smtplib.SMT

Jsp 實現Email傳送,QQ郵箱傳送時530錯誤的解決

1.163郵箱與QQ郵箱進行測試 * 163郵箱的安全驗證沒有那麼嚴格 ,所以可以忽略一下操作.直接看程式碼 1.1.首先確定你需要用來發送的qq,進入QQ郵箱開啟ssl.               * qq郵箱 > 賬戶  >圖中箭頭位置         

python 3.6.3 , 使用QQ 郵箱傳送郵件

示例程式碼:#coding=utf-8 import smtplib from email.mime.text import MIMEText msg_from='[email protec

spring通過QQ郵箱傳送Email

本文簡要介紹如何通過Spring框架的支援,通過QQ郵箱來發送郵件,包括簡單文字,附件、以及內聯圖片、HTML以及HTTP圖片。 spring-context-support很早就內建支援郵件傳送。 當然, 官方文件明確指出, 需要依賴 JavaMa

qq郵箱傳送

hostname:smtp.qq.com port:465 username:[email protected] password: ....... 開通smtp後的密碼 connectio