基于SpringBoot構造超簡易QQ郵件服務發送 第二版

目錄

追加 郵箱附件

添加依賴

編碼

測試


第二版的更新點是追加了 郵箱附件功能?( 后期追加定時任務 )

基于SpringBoot構造超簡易QQ郵件服務發送(分離-圖解-新手) 第一版

追加 郵箱附件

添加依賴

        <!--    電子郵件    --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId><version>2.7.18</version></dependency><!-- javax.mail API --><dependency><groupId>javax.mail</groupId><artifactId>javax.mail-api</artifactId><version>1.6.2</version></dependency>

編碼

為了方便直接在控制層寫了

package com.takem.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;@RestController
public class EmailController {@Autowiredprivate JavaMailSender mailSender;@GetMapping("/email")public String sendSimpleMessage() throws MessagingException {MimeMessage mimeMessage = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); helper.setFrom("你的郵箱");helper.setTo("對方的郵箱");helper.setSubject("測試標題");helper.setText("測試內容");// 添加文件helper.addAttachment("文件名(包含后綴名)", new File("文件的路徑(寫死都沒事)"));mailSender.send(mimeMessage);return "發送成功";}
}

測試

(到底啦~更多關注 公粽號? wmcode 獲取更多信息)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43855.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43855.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43855.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java小白入門到實戰應用教程-介紹篇

writer:eleven 介紹 編程語言介紹 編程語言按照抽象層次和硬件交互的方式劃分為低級編程語言和高級編程語言。 低級編程語言更接近計算機硬件層面&#xff0c;通常具有執行效率高的特點&#xff0c;但是由于注重計算機底層交互&#xff0c;所以編程難度相對較大。 高級編程…

國內開源RAG知識庫ChatWiki MaxKb QAnyThing對比

RAG 知識庫 &#xff0c; 是一個比較火的賽道&#xff0c;以下是國內開源的RAG 知識庫 ChatWiki 芝麻小客服開源的一個RAG 知識庫&#xff0c;核心特點是和人工聊天系統打通&#xff0c;可以作為對外的聊天系統使用。 開源地址 https://github.com/zhimaAi/chatwiki 云端體…

如何評價Flutter?

哈嘍&#xff0c;我是老劉 我們團隊使用Flutter已經快6年了。 有很多人問過我們對Flutter的評價。 今天在這里回顧一下6年前選擇Flutter時的原因&#xff0c;以及Flutter在這幾年中的實際表現如何。 選擇Flutter時的判斷 1、性能 最開始吸引我們的就是其優秀的性能。 特別是…

【vue3|第16期】初探Vue-Router與現代網頁路由

日期:2024年7月6日 作者:Commas 簽名:(? ?_?)? 積跬步以致千里,積小流以成江海…… 注釋:如果您覺得有所幫助,幫忙點個贊,也可以關注我,我們一起成長;如果有不對的地方,還望各位大佬不吝賜教,謝謝^ - ^ 1.01365 = 37.7834;0.99365 = 0.0255 1.02365 = 1377.4083…

力扣第226題“翻轉二叉樹”

在本篇文章中&#xff0c;我們將詳細解讀力扣第226題“翻轉二叉樹”。通過學習本篇文章&#xff0c;讀者將掌握如何使用遞歸和迭代的方法來翻轉二叉樹&#xff0c;并了解相關的復雜度分析和模擬面試問答。每種方法都將配以詳細的解釋&#xff0c;以便于理解。 問題描述 力扣第…

深入探索聯邦學習框架 Flower

聯邦學習框架 本文主要期望介紹一個設計良好的聯邦學習框架 Flower&#xff0c;在開始介紹 Flower 框架的細節前&#xff0c;先了解下聯邦學習框架的基礎知識。 作為一個聯邦學習框架&#xff0c;必然會包含對橫向聯邦學習的支持。橫向聯邦是指擁有類似數據的多方可以在不泄露…

【CVPR 2024】GART: Gaussian Articulated Template Models

【CVPR 2024】GART: Gaussian Articulated Template Models 一、前言Abstract1. Introduction2. Related Work3. Method3.1. Template Prior3.2. Shape Appearance Representation with GMM3.3. Motion Representation with Forward Skinning3.4. Reconstruct GART from Monocu…

Java--instanceof和類型轉換

1.如圖&#xff0c;Object&#xff0c;Person&#xff0c;Teacher&#xff0c;Student四類的關系已經寫出來了&#xff0c;由于實例化的是Student類&#xff0c;因此&#xff0c;與Student類存在關系的類在使用instanceof時都會輸出True&#xff0c;而無關的都會輸出False&…

負載均衡技術怎么實現的,負載均衡策略

目錄 負載均衡技術怎么實現的 負載均衡技術的實現方式 舉例說明 負載均衡策略 1. 輪詢(Round Robin) 2. 加權輪詢(Weighted Round Robin) 3. 最少連接數(Least Connections) 4. 響應時間(Response Time) 總結 負載均衡技術怎么實現的 負載均衡技術主要通過多種…

數據結構 —— Dijkstra算法

數據結構 —— Dijkstra算法 Dijkstra算法劃分集合模擬過程打印路徑 在上次的博客中&#xff0c;我們解決了使用最小的邊讓各個頂點連通&#xff08;最小生成樹&#xff09; 這次我們要解決的問題是現在有一個圖&#xff0c;我們要找到一條路&#xff0c;使得從一個頂點到另一個…

對比學習和多模態任務

1. 對比學習 對比學習&#xff08;Contrastive Learning&#xff09;是一種自監督學習的方法&#xff0c;旨在通過比較數據表示空間中的不同樣本來學習有用的特征表示。其核心思想是通過最大化同類樣本之間的相似性&#xff08;或降低它們之間的距離&#xff09;&#xff0c;同…

【Linux】網絡新兵連

歡迎來到 破曉的歷程的 博客 ??不負時光&#xff0c;不負己?? 引言 在上一篇博客中&#xff0c;我們簡單的介紹了一些Linux網絡一些比較基本的概念。本篇博客我們將開始正式學習Linux網絡套接字的內容&#xff0c;那么我們開始吧&#xff01; 1.網絡中的地址管理 大家一…

GraphRAG——一個基于圖的檢索增強生成的開源項目【送源碼】

GraphRAG 最近幾天&#xff0c;微軟團隊開源了GraphRAG&#xff0c;這是一種基于圖&#xff08;Graph&#xff09;的檢索增強生成方法。 先說說RAG吧&#xff0c;檢索增強生成&#xff0c;相當于是從一個給定好的知識庫中進行檢索&#xff0c;接入LLM模型&#xff0c;讓模型生…

(十六)視圖變換 正交投影 透視投影

視圖變換 代碼實驗 #include <glad/glad.h>//glad必須在glfw頭文件之前包含 #include <GLFW/glfw3.h> #include <iostream> #define STB_IMAGE_IMPLEMENTATION #include "stb_image.h"//GLM #include <glm/glm.hpp> #include <glm/gtc/m…

C++初探究(2)

引用 對于一個常量&#xff0c;想要將其進行引用&#xff0c;則使用普通的引用相當于權限擴大&#xff08;常量為只讀&#xff0c;但此處的引用參數為可讀可寫&#xff09;&#xff0c;C編譯器會報錯. 例如&#xff1a; const int a 10;int& ra a;//權限放大&#xff0…

邏輯回歸不是回歸嗎?那為什么叫回歸?

RNN 邏輯回歸不是回歸嗎&#xff1f;那為什么叫回歸&#xff1f;邏輯回歸的基本原理邏輯函數&#xff08;Sigmoid函數&#xff09;二元分類 為什么叫做“回歸”&#xff1f;邏輯回歸的應用場景總結 邏輯回歸不是回歸嗎&#xff1f;那為什么叫回歸&#xff1f; 邏輯回歸&#x…

Python大數據分析——決策樹和隨機森林

Python大數據分析——決策樹和隨機森林 決策樹決策樹節點字段的選擇信息熵條件熵信息增益信息增益率 基尼指數條件基尼指數基尼指數增益 決策樹函數 隨機森林函數 決策樹 圖中的決策樹呈現自頂向下的生長過程&#xff0c;深色的橢圓表示樹的根節點&#xff1b;淺色的橢圓表示樹…

Java項目:基于SSM框架實現的農家樂信息管理平臺含前后臺【ssm+B/S架構+源碼+數據庫+答辯PPT+開題報告+畢業論文】

一、項目簡介 本項目是一套基于SSM框架實現的農家樂信息管理平臺 包含&#xff1a;項目源碼、數據庫腳本等&#xff0c;該項目附帶全部源碼可作為畢設使用。 項目都經過嚴格調試&#xff0c;eclipse或者idea 確保可以運行&#xff01; 該系統功能完善、界面美觀、操作簡單、功…

招投標信息采集系統:讓您的企業始終站在行業前沿

一、為何招投標信息如此關鍵&#xff1f; 在經濟全球化的大背景下&#xff0c;招投標活動日益頻繁&#xff0c;成為企業獲取項目、拓展市場的主流方式之一。招投標信息采集&#xff0c;作為企業戰略決策的前置環節&#xff0c;其重要性不言而喻。它不僅關乎企業能否第一時間發…

WPF 初識依賴屬性

依賴屬性的意義和作用 核心模塊內存共享&#xff0c;節省空間數據綁定、樣式、模板、動畫。。。。如果沒有依賴屬性&#xff0c;這個框架就是一個控件框架 相當于Winform 依賴屬性的基本定義 基本過程&#xff1a;聲明、注冊、包裝 在需要寫依賴屬性的類中&#xff0c;繼承…