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

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

 更新時間:2025年08月31日 15:23:32   作者:何中應(yīng)  
本文介紹如何使用Hutool庫的MailUtil組件實現(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) {
        // 郵件接收人,多個接收人使用逗號或者分號隔開
        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 文件,在項目 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ā)送成功

郵箱收到郵件

錯誤

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

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

到此這篇關(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ì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 工廠方法模式_動力節(jié)點Java學(xué)院整理

    工廠方法模式_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了工廠方法模式_動力節(jié)點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實現(xiàn)Shazam聲音識別算法的實例代碼

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

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

    Spring Boot XSS 攻擊過濾插件使用

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

    springboot 通過代碼自動生成pid的方法

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

    SpringBoot配置Apollo代碼實例

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

    Java中EnumSet代替位域代碼詳解

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

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

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

最新評論

涞源县| 蚌埠市| 阜康市| 青冈县| 望江县| 乐山市| 河源市| 西安市| 北票市| 巨野县| 栖霞市| 安国市| 绿春县| 革吉县| 平度市| 塔河县| 辉南县| 简阳市| 房产| 花莲市| 大化| 汽车| 孟村| 同心县| 无为县| 舞阳县| 建平县| 石家庄市| 白城市| 当涂县| 神农架林区| 开平市| 常德市| 兰坪| 柳州市| 巧家县| 尖扎县| 辉南县| 门头沟区| 江山市| 平潭县|