欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2025年08月31日 15:23:32   作者:何中應  
本文介紹如何使用Hutool庫的MailUtil組件實現(xiàn)郵件發(fā)送功能,包括設置郵件服務器、賬號認證、郵件內(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郵箱授權碼");
        // 發(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服務器地址
     * @param smtpPort      smtp服務器端口
     * @param emailUsername 郵箱用戶名
     * @param emailPassword 郵箱授權碼
     * @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)建郵件對象時,需開啟,如下:

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

相關文章

  • idea不使用maven如何將項目打包

    idea不使用maven如何將項目打包

    使用IDEA 2021版本,不借助Maven進行打WAR包的步驟是:首先點擊Project Structure,然后點擊Artifacts,接著選擇需要的打包類型,設置好包的名稱,最后進行打包,這種方法適用于不使用Maven進行項目管理的情況
    2024-09-09
  • 新版idea創(chuàng)建spring boot項目的詳細教程

    新版idea創(chuàng)建spring boot項目的詳細教程

    這篇文章給大家介紹了新版idea創(chuàng)建spring boot項目的詳細教程,本教程對新手小白友好,若根據(jù)教程創(chuàng)建出現(xiàn)問題導致失敗可下載我提供的源碼,在文章最后,本教程較新,文中通過圖文給大家介紹的非常詳細,感興趣的朋友可以參考下
    2024-01-01
  • Java可重入鎖ReentrantLock詳解

    Java可重入鎖ReentrantLock詳解

    這篇文章主要介紹了Java可重入鎖ReentrantLock詳解,ReentrantLock是一個可重入且獨占式的鎖,是一種遞歸無阻塞的同步機制,它支持重復進入鎖,即該鎖能夠支持一個線程對資源的重復加鎖,除此之外,該鎖的還支持獲取鎖時的公平和非公平性選擇,需要的朋友可以參考下
    2023-09-09
  • 2020最新IDEA SpringBoot整合Dubbo的實現(xiàn)(zookeeper版)

    2020最新IDEA SpringBoot整合Dubbo的實現(xiàn)(zookeeper版)

    這篇文章主要介紹了2020最新IDEA SpringBoot整合Dubbo(zookeeper版),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Spring 實現(xiàn)excel及pdf導出表格示例

    Spring 實現(xiàn)excel及pdf導出表格示例

    本篇文章主要介紹了Spring 實現(xiàn)excel及pdf導出表格示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Nacos配置內(nèi)容加密實現(xiàn)過程

    Nacos配置內(nèi)容加密實現(xiàn)過程

    文章介紹了在Nacos配置中實現(xiàn)加密的步驟,包括引入AES加密插件、重新編譯Nacos服務端、修改SpringBoot應用配置前綴,并確保加密后內(nèi)容在數(shù)據(jù)庫存儲而應用端能解密讀取
    2025-08-08
  • SpringBoot+Mybatis-Plus實現(xiàn)mysql讀寫分離方案的示例代碼

    SpringBoot+Mybatis-Plus實現(xiàn)mysql讀寫分離方案的示例代碼

    這篇文章主要介紹了SpringBoot+Mybatis-Plus實現(xiàn)mysql讀寫分離方案的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Java:詳解Java中的異常

    Java:詳解Java中的異常

    這篇文章主要介紹了java中的異常,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-08-08
  • spring的pointcut正則表達式的實現(xiàn)

    spring的pointcut正則表達式的實現(xiàn)

    本文主要介紹了spring的pointcut正則表達式的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 基于spring boot排除掃描類的三種方式小結

    基于spring boot排除掃描類的三種方式小結

    這篇文章主要介紹了spring boot排除掃描類的三種方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評論