最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Java代碼發(fā)送攜帶附件的郵件的示例詳解

 更新時(shí)間:2025年08月31日 15:23:32   作者:何中應(yīng)  
本文介紹如何使用Hutool庫的MailUtil組件實(shí)現(xiàn)郵件發(fā)送功能,包括設(shè)置郵件服務(wù)器、賬號認(rèn)證、郵件內(nèi)容及附件等步驟,需要的朋友可以參考下

說明:本文介紹如何發(fā)使用代碼送攜帶附件的郵件。

代碼

發(fā)送代碼如下:

import cn.hutool.core.io.FileUtil;
import cn.hutool.extra.mail.MailAccount;

import java.io.File;

public class EmailSentTest {
    public static void main(String[] args) {
        // 郵件接收人,多個(gè)接收人使用逗號或者分號隔開
        String to = "接收人郵箱";
        // 郵件主題
        String subject = "測試郵件";
        // 郵件內(nèi)容
        String content = "這是一封測試郵件";
        // 附件
        File file = FileUtil.file("test.txt");
        // 獲取郵箱客戶端
        MailAccount account = EmailSendUtil.getMailClient("smtp.qq.com", 465,
                "發(fā)件人郵箱", "QQ郵箱授權(quán)碼");
        // 發(fā)送郵件
        EmailSendUtil.sendEmail(account, to, subject, content, false, file);
    }
}

test.txt 文件,在項(xiàng)目 resources 目錄里,內(nèi)容如下:

工具類如下:

import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.mail.MailAccount;
import cn.hutool.extra.mail.MailUtil;

import java.io.File;

/**
 * 郵件發(fā)送工具類
 */
public final class EmailSendUtil {

    private EmailSendUtil() {
    }

    /**
     * 獲取郵箱客戶端
     *
     * @param smtpHost      smtp服務(wù)器地址
     * @param smtpPort      smtp服務(wù)器端口
     * @param emailUsername 郵箱用戶名
     * @param emailPassword 郵箱授權(quán)碼
     * @return
     */
    public static MailAccount getMailClient(String smtpHost, int smtpPort, String emailUsername, String emailPassword) {
        MailAccount account = new MailAccount();
        account.setHost(smtpHost);
        account.setPort(smtpPort);
        account.setAuth(true);
        account.setFrom(emailUsername);
        account.setUser(emailUsername);
        account.setPass(emailPassword);
        account.setSslEnable(true);
        return account;
    }

    /**
     * 發(fā)送郵件
     *
     * @param account 郵箱客戶端
     * @param to      接收人郵箱地址
     * @param subject 郵件主題
     * @param content 郵件內(nèi)容
     * @param isHtml  是否是html格式
     * @param file    附件
     */
    public static void sendEmail(MailAccount account, String to, String subject, String content, boolean isHtml, File file) {
        if (StrUtil.isBlank(to)) {
            throw new IllegalArgumentException("收件人郵箱地址不能為空");
        }
        if (StrUtil.isBlank(subject)) {
            throw new IllegalArgumentException("郵件主題不能為空");
        }
        if (StrUtil.isBlank(content)) {
            throw new IllegalArgumentException("郵件內(nèi)容不能為空");
        }
        try {
            MailUtil.send(account, to, subject, content, isHtml, file);
            System.out.println("郵件發(fā)送成功");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("郵件發(fā)送失敗");
        }
    }
}

發(fā)送成功

郵箱收到郵件

錯(cuò)誤

可能遇到下面這個(gè)錯(cuò)誤,提示需要使用 SSL 方式發(fā)送郵件

在創(chuàng)建郵件對象時(shí),需開啟,如下:

到此這篇關(guān)于使用Java代碼發(fā)送攜帶附件的郵件的示例詳解的文章就介紹到這了,更多相關(guān)Java發(fā)送攜帶附件的郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之排序算法

    Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之排序算法

    排序算法是《數(shù)據(jù)結(jié)構(gòu)與算法》中最基本的算法之一。排序算法可以分為內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存
    2022-02-02
  • SpringBoot文件分片上傳的示例代碼

    SpringBoot文件分片上傳的示例代碼

    分片上傳在很多地方都可以使用的到,本文主要介紹了SpringBoot文件分片上傳的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 工廠方法模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    工廠方法模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了工廠方法模式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • ?Java數(shù)據(jù)結(jié)構(gòu)的十大排序

    ?Java數(shù)據(jù)結(jié)構(gòu)的十大排序

    這篇文章主要介紹了?Java數(shù)據(jù)結(jié)構(gòu)的十大排序,排序算法分為比較類排序和非比較類排序,具體的內(nèi)容,需要的朋友參考下面思維導(dǎo)圖及文章介紹,希望對你有所幫助
    2022-01-01
  • Java實(shí)現(xiàn)Shazam聲音識(shí)別算法的實(shí)例代碼

    Java實(shí)現(xiàn)Shazam聲音識(shí)別算法的實(shí)例代碼

    Shazam算法采用傅里葉變換將時(shí)域信號轉(zhuǎn)換為頻域信號,并獲得音頻指紋,最后匹配指紋契合度來識(shí)別音頻。這篇文章給大家介紹Java實(shí)現(xiàn)Shazam聲音識(shí)別算法的實(shí)例代碼,需要的朋友參考下吧
    2018-09-09
  • Spring Boot XSS 攻擊過濾插件使用

    Spring Boot XSS 攻擊過濾插件使用

    這篇文章主要介紹了Spring Boot XSS 攻擊過濾插件使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • springboot 通過代碼自動(dòng)生成pid的方法

    springboot 通過代碼自動(dòng)生成pid的方法

    這篇文章主要介紹了springboot 通過代碼自動(dòng)生成pid的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • SpringBoot配置Apollo代碼實(shí)例

    SpringBoot配置Apollo代碼實(shí)例

    這篇文章主要介紹了SpringBoot配置Apollo代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java中EnumSet代替位域代碼詳解

    Java中EnumSet代替位域代碼詳解

    這篇文章主要介紹了Java中EnumSet代替位域代碼詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Java中的內(nèi)存泄露問題和解決辦法

    Java中的內(nèi)存泄露問題和解決辦法

    大家好,本篇文章主要講的是Java中的內(nèi)存泄露問題和解決辦法,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01

最新評論

广宗县| 克拉玛依市| 商水县| 孝感市| 文水县| 茌平县| 双柏县| 昌宁县| 南部县| 柏乡县| 长子县| 本溪| 林周县| 金昌市| 通江县| 册亨县| 游戏| 城口县| 确山县| 鸡东县| 尚义县| 谢通门县| 凌云县| 全椒县| 南投县| 丘北县| 霞浦县| 海晏县| 招远市| 太保市| 嘉祥县| SHOW| 武陟县| 微博| 定陶县| 辽宁省| 文昌市| 寻甸| 莱西市| 彰化市| 大庆市|