当前位置:首页 > 未命名 > 正文内容

10个Java发邮件的工具类封装模板

大大1年前 (2025-09-10)未命名476
烽火邮箱企业邮箱蜂邮EDM邮件营销系统

【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务。 查看价格
【AokSend邮件API】:触发式邮件API,15元/万封,99%送达率。 查看价格
【烽火邮箱】:新人领取免费域名邮箱,可用作企业邮箱公司邮箱。 查看价格

10个Java发邮件的工具类封装模板

在Java开发中,发送邮件是一个非常常见的需求。无论是企业内部的沟通,还是与客户、合作伙伴的联系,发送邮件都是一个高效且便捷的方式。然而,手动编写邮件内容和调用发送接口通常会占用大量时间,尤其是在需要频繁发送邮件的情况下。因此,开发一个高效的邮件发送工具类封装模板 become 一个非常实用的选择。

引言

随着Java开发项目的复杂度不断增加,发送邮件的需求也在不断增加。为了满足这一需求,我们可以编写一个Java工具类,将发送邮件的功能封装起来,从而提高开发效率。本文将介绍10个Java发邮件的工具类封装模板,帮助开发者快速实现邮件发送功能。

工具类封装模板的原理

在Java中,工具类封装模板是一种将常用功能集中到一个类中的方式,从而提高代码的复用性和可维护性。对于发邮件功能的封装,我们通常需要以下功能:

  1. 邮件配置:包括收件人地址、主题、正文等。
  2. 邮件发送:调用邮件服务器,如SMTP、POP3等。
  3. 错误处理:在发送过程中如果出现错误,能够自动捕获并报错。
  4. 优化性能:减少邮件发送对网络资源的占用。

通过将这些功能集中到一个工具类中,我们可以避免在每次发送邮件时重复编写代码,从而提高开发效率。

工具类封装模板的实现

工具类1:EmailSender

EmailSender 是一个经典的Java邮件发送工具类,它封装了邮件发送的基本功能。以下是如何使用这个工具类的步骤:

  1. 添加依赖:

    mvn add:mvn -Dname=EmailSender -Dversion=1.1.1 -Djar
  2. 使用示例代码:

    10个Java发邮件的工具类封装模板

    
    import com.sun.mail.Mail;
    import com.sun.mail.MailException;
    import com.sun.mail.SENDER;
    import com.sun.mail.SENDERSetting;
    import com.sun.mail.sendmail.EmailSender;
    import com.sun.mail.sendmail.sendmail.Sendmail;
    import java.util.Date;

public class EmailSender { private Sendmail sendMail; private Date lastSentDate;

public EmailSender() {
    sendMail = Sendmail.getSendmail();
    lastSentDate = new Date();
}

public boolean sendMail(String subject, String body, String[] to) {
    try {
        Mail mail = new Mail();
        mail.setVersion("1.0");
        mail.setSubject(subject);
        mail.setBody(body);
        mail.setFrom(SENDER);

        Date date = lastSentDate;
        mail.setDate(date);

        sendMail.send(mail);
        return true;
    } catch (MAIL很差错 e) {
        // 报告错误
        System.out.println("发送邮件失败:" + e);
        return false;
    }
}

}


### 工具类2:EmailSenderAutoClose

EmailSenderAutoClose 是一个改进版的邮件发送工具类,它在发送邮件后自动关闭连接。以下是使用方法:

1. 添加依赖:
```bash
mvn add:mvn -Dname=EmailSenderAutoClose -Dversion=1.2.2 -Djar
  1. 使用示例代码:
    
    import com.sun.mail.Mail;
    import com.sun.mail.MailException;
    import com.sun.mail.SENDER;
    import com.sun.mail.SENDERSetting;
    import com.sun.mail.sendmail.EmailSenderAutoClose;
    import java.util.Date;

public class EmailSenderAutoClose { private Sendmail sendMail; private Date lastSentDate;

public EmailSenderAutoClose() {
    sendMail = Sendmail.getSendmail();
    lastSentDate = new Date();
}

public boolean sendMail(String subject, String body, String[] to) {
    try {
        Mail mail = new Mail();
        mail.setVersion("1.0");
        mail.setSubject(subject);
        mail.setBody(body);
        mail.setFrom(SENDER);

        Date date = lastSentDate;
        mail.setDate(date);

        sendMail.send(mail);
        sendMail.close();
        return true;
    } catch (MAIL很差错 e) {
        // 报告错误
        System.out.println("发送邮件失败:" + e);
        return false;
    }
}

}


### 工具类3:Email(Sender)

Email(Sender) 是一个基于Spring Boot 的邮件发送工具类,它封装了多种邮件发送功能,包括自动回复、批量发送等。以下是使用方法:

1. 添加依赖:
```bash
mvn add:mvn -Dname=Email(Sender) -Dversion=1.2.3 -Djar
  1. 使用示例代码:
    
    import com.springframework.beans.factory.annotation.Autowired;
    import com.springframework.boot.autoconfigure.web.servlet.AutoConfigure;
    import com.springframework.boot.autoconfigure.web.servlet.MockMvc;
    import com.springframework.boot.context.SpringBootTest;
    import com.springframework.context.annotation.SpringBootTest;
    import com.springframework BootStrut.beans.SNELoop;
    import com.springframework BootStrut.common.Mail;

public class EmailExample { @AutoConfigure @AutoConfigure(minItems={1}) @AutoConfigure public class EmailAutoConfig { @Autowired private EmailSenderAutoClose emailSender;

    @AutoConfigure
    public static final Map<String, Object> defaultConfig = new HashMap<>();
    defaultConfig.put("to", " recipient@example.com");
    defaultConfig.put("subject", "邮件主题");
    defaultConfig.put("body", "邮件正文");
}

@RestController
public class EmailController {
    @GetMapping("/send")
    @GetMapping("/send")
    public ResponseEntity send(String subject, String body) {
        return new ResponseEntity().响应(EmailAutoClose.sendMail(subject, body, get("to").toArray(new String[0])));
    }
}

}


### 工具类4:SMTPClient

SMTPClient 是一个基于PHP 的邮件发送工具类,但也可以通过Java调用。以下是使用方法:

1. 添加依赖:
```bash
mvn add:mvn -Dname=SMTPClient -Dversion=12.0.0 -Djar
  1. 使用示例代码:
    
    import com.sun.mail.Mail;
    import com.sun.mail.MailException;
    import com.sun.mail.SENDER;
    import com.sun.mail.SENDERSetting;
    import com.sun.mail.sendmail.EmailSender;
    import com.sun.mail.sendmail.sendmail.Sendmail;
    import java.util.Date;0

public class SmtpClient { private Stp; private boolean initialized = false;


import com.sun.mail.Mail;
import com.sun.mail.MailException;
import com.sun.mail.SENDER;
import com.sun.mail.SENDERSetting;
import com.sun.mail.sendmail.EmailSender;
import com.sun.mail.sendmail.sendmail.Sendmail;
import java.util.Date;1

}


import com.sun.mail.Mail;
import com.sun.mail.MailException;
import com.sun.mail.SENDER;
import com.sun.mail.SENDERSetting;
import com.sun.mail.sendmail.EmailSender;
import com.sun.mail.sendmail.sendmail.Sendmail;
import java.util.Date;2
  1. 使用示例代码:
    
    import com.sun.mail.Mail;
    import com.sun.mail.MailException;
    import com.sun.mail.SENDER;
    import com.sun.mail.SENDERSetting;
    import com.sun.mail.sendmail.EmailSender;
    import com.sun.mail.sendmail.sendmail.Sendmail;
    import java.util.Date;3

public class Pop3Client { private Stp; private Date lastSentDate;


import com.sun.mail.Mail;
import com.sun.mail.MailException;
import com.sun.mail.SENDER;
import com.sun.mail.SENDERSetting;
import com.sun.mail.sendmail.EmailSender;
import com.sun.mail.sendmail.sendmail.Sendmail;
import java.util.Date;4

}


import com.sun.mail.Mail;
import com.sun.mail.MailException;
import com.sun.mail.SENDER;
import com.sun.mail.SENDERSetting;
import com.sun.mail.sendmail.EmailSender;
import com.sun.mail.sendmail.sendmail.Sendmail;
import java.util.Date;5
  1. 使用示例代码:
    
    import com.sun.mail.Mail;
    import com.sun.mail.MailException;
    import com.sun.mail.SENDER;
    import com.sun.mail.SENDERSetting;
    import com.sun.mail.sendmail.EmailSender;
    import com.sun.mail.sendmail.sendmail.Sendmail;
    import java.util.Date;6

public class JMail { private JMail sendMail; private Date lastSentDate;


import com.sun.mail.Mail;
import com.sun.mail.MailException;
import com.sun.mail.SENDER;
import com.sun.mail.SENDERSetting;
import com.sun.mail.sendmail.EmailSender;
import com.sun.mail.sendmail.sendmail.Sendmail;
import java.util.Date;7

}


import com.sun.mail.Mail;
import com.sun.mail.MailException;
import com.sun.mail.SENDER;
import com.sun.mail.SENDERSetting;
import com.sun.mail.sendmail.EmailSender;
import com.sun.mail.sendmail.sendmail.Sendmail;
import java.util.Date;8
  1. 使用示例代码:
    
    import com.sun.mail.Mail;
    import com.sun.mail.MailException;
    import com.sun.mail.SENDER;
    import com.sun.mail.SENDERSetting;
    import com.sun.mail.sendmail.EmailSender;
    import com.sun.mail.sendmail.sendmail.Sendmail;
    import java.util.Date;9

public class EmailManagerExample { @Autowired private EmailManager emailManager;

public EmailSender() {
    sendMail = Sendmail.getSendmail();
    lastSentDate = new Date();
}

public boolean sendMail(String subject, String body, String[] to) {
    try {
        Mail mail = new Mail();
        mail.setVersion("1.0");
        mail.setSubject(subject);
        mail.setBody(body);
        mail.setFrom(SENDER);

        Date date = lastSentDate;
        mail.setDate(date);

        sendMail.send(mail);
        return true;
    } catch (MAIL很差错 e) {
        // 报告错误
        System.out.println("发送邮件失败:" + e);
        return false;
    }
}0

}

public EmailSender() {
    sendMail = Sendmail.getSendmail();
    lastSentDate = new Date();
}

public boolean sendMail(String subject, String body, String[] to) {
    try {
        Mail mail = new Mail();
        mail.setVersion("1.0");
        mail.setSubject(subject);
        mail.setBody(body);
        mail.setFrom(SENDER);

        Date date = lastSentDate;
        mail.setDate(date);

        sendMail.send(mail);
        return true;
    } catch (MAIL很差错 e) {
        // 报告错误
        System.out.println("发送邮件失败:" + e);
        return false;
    }
}1

}

public EmailSender() {
    sendMail = Sendmail.getSendmail();
    lastSentDate = new Date();
}

public boolean sendMail(String subject, String body, String[] to) {
    try {
        Mail mail = new Mail();
        mail.setVersion("1.0");
        mail.setSubject(subject);
        mail.setBody(body);
        mail.setFrom(SENDER);

        Date date = lastSentDate;
        mail.setDate(date);

        sendMail.send(mail);
        return true;
    } catch (MAIL很差错 e) {
        // 报告错误
        System.out.println("发送邮件失败:" + e);
        return false;
    }
}2
  1. 使用示例代码:
    public EmailSender() {
        sendMail = Sendmail.getSendmail();
        lastSentDate = new Date();
    }
    
    public boolean sendMail(String subject, String body, String[] to) {
        try {
            Mail mail = new Mail();
            mail.setVersion("1.0");
            mail.setSubject(subject);
            mail.setBody(body);
            mail.setFrom(SENDER);
    
            Date date = lastSentDate;
            mail.setDate(date);
    
            sendMail.send(mail);
            return true;
        } catch (MAIL很差错 e) {
            // 报告错误
            System.out.println("发送邮件失败:" + e);
            return false;
        }
    }3

public class EmailSenderAutoReply { private Sendmail sendMail; private Date lastSentDate;

public EmailSender() {
    sendMail = Sendmail.getSendmail();
    lastSentDate = new Date();
}

public boolean sendMail(String subject, String body, String[] to) {
    try {
        Mail mail = new Mail();
        mail.setVersion("1.0");
        mail.setSubject(subject);
        mail.setBody(body);
        mail.setFrom(SENDER);

        Date date = lastSentDate;
        mail.setDate(date);

        sendMail.send(mail);
        return true;
    } catch (MAIL很差错 e) {
        // 报告错误
        System.out.println("发送邮件失败:" + e);
        return false;
    }
}4

}

public EmailSender() {
    sendMail = Sendmail.getSendmail();
    lastSentDate = new Date();
}

public boolean sendMail(String subject, String body, String[] to) {
    try {
        Mail mail = new Mail();
        mail.setVersion("1.0");
        mail.setSubject(subject);
        mail.setBody(body);
        mail.setFrom(SENDER);

        Date date = lastSentDate;
        mail.setDate(date);

        sendMail.send(mail);
        return true;
    } catch (MAIL很差错 e) {
        // 报告错误
        System.out.println("发送邮件失败:" + e);
        return false;
    }
}5
  1. 使用示例代码:
    public EmailSender() {
        sendMail = Sendmail.getSendmail();
        lastSentDate = new Date();
    }
    
    public boolean sendMail(String subject, String body, String[] to) {
        try {
            Mail mail = new Mail();
            mail.setVersion("1.0");
            mail.setSubject(subject);
            mail.setBody(body);
            mail.setFrom(SENDER);
    
            Date date = lastSentDate;
            mail.setDate(date);
    
            sendMail.send(mail);
            return true;
        } catch (MAIL很差错 e) {
            // 报告错误
            System.out.println("发送邮件失败:" + e);
            return false;
        }
    }6

public class EmailAutoReplyExample { @Autowired private EmailAutoReply emailAutoReply;

public EmailSender() {
    sendMail = Sendmail.getSendmail();
    lastSentDate = new Date();
}

public boolean sendMail(String subject, String body, String[] to) {
    try {
        Mail mail = new Mail();
        mail.setVersion("1.0");
        mail.setSubject(subject);
        mail.setBody(body);
        mail.setFrom(SENDER);

        Date date = lastSentDate;
        mail.setDate(date);

        sendMail.send(mail);
        return true;
    } catch (MAIL很差错 e) {
        // 报告错误
        System.out.println("发送邮件失败:" + e);
        return false;
    }
}0

}

public EmailSender() {
    sendMail = Sendmail.getSendmail();
    lastSentDate = new Date();
}

public boolean sendMail(String subject, String body, String[] to) {
    try {
        Mail mail = new Mail();
        mail.setVersion("1.0");
        mail.setSubject(subject);
        mail.setBody(body);
        mail.setFrom(SENDER);

        Date date = lastSentDate;
        mail.setDate(date);

        sendMail.send(mail);
        return true;
    } catch (MAIL很差错 e) {
        // 报告错误
        System.out.println("发送邮件失败:" + e);
        return false;
    }
}8
  1. 使用示例代码:
    public EmailSender() {
        sendMail = Sendmail.getSendmail();
        lastSentDate = new Date();
    }
    
    public boolean sendMail(String subject, String body, String[] to) {
        try {
            Mail mail = new Mail();
            mail.setVersion("1.0");
            mail.setSubject(subject);
            mail.setBody(body);
            mail.setFrom(SENDER);
    
            Date date = lastSentDate;
            mail.setDate(date);
    
            sendMail.send(mail);
            return true;
        } catch (MAIL很差错 e) {
            // 报告错误
            System.out.println("发送邮件失败:" + e);
            return false;
        }
    }9

public class EmailAutoReplyExample { @Autowired private EmailAutoReply emailAutoReply;

public EmailSender() {
    sendMail = Sendmail.getSendmail();
    lastSentDate = new Date();
}

public boolean sendMail(String subject, String body, String[] to) {
    try {
        Mail mail = new Mail();
        mail.setVersion("1.0");
        mail.setSubject(subject);
        mail.setBody(body);
        mail.setFrom(SENDER);

        Date date = lastSentDate;
        mail.setDate(date);

        sendMail.send(mail);
        return true;
    } catch (MAIL很差错 e) {
        // 报告错误
        System.out.println("发送邮件失败:" + e);
        return false;
    }
}0

}


### 工具类2:EmailSenderAutoClose

EmailSenderAutoClose 是一个改进版的邮件发送工具类,它在发送邮件后自动关闭连接。以下是使用方法:

1. 添加依赖:
```bash
mvn add:mvn -Dname=EmailSenderAutoClose -Dversion=1.2.2 -Djar1

4.2/5 - (9 votes)


蜂邮EDM邮件营销系统烽火邮箱企业邮箱

【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务。 查看价格
【AokSend邮件API】:触发式邮件API,15元/万封,99%送达率。 查看价格
【烽火邮箱】:新人领取免费域名邮箱,可用作企业邮箱公司邮箱。 查看价格

🔔🔔🔔

【烽火邮箱】:烽火邮箱是一款简洁高效的企业邮箱平台,新客户赠送免费企业邮箱,一个起卖、按月付费(低至9.9元);支持别名邮箱及群组邮箱,支持定制无限邮箱。高权重纯净IP池,系统自带反垃圾机制。
立即查看 >> :企业邮箱价格


【蜂邮EDM】:邮件群发系统,EDM邮件营销平台,邮件代发服务,专业研发定制邮件营销系统及邮件群发解决方案!蜂邮自研产品线主要分为标准版、外贸版、企业版、定制版,及邮件API邮件SMTP接口服务。
立即查看 >> :邮件发送价格


【AokSend邮件API】:专注触发式邮件API发送服务。15元/万封,发送验证码邮件、忘记密码邮件、通知告警邮件等,不限速。综合送达率99%、进箱率98%。触发邮件也叫事务性邮件或推送邮件,包含:验证码邮件、重置密码邮件、余额提醒邮件、会员到期邮件、账号认证邮件等!
立即查看 >> :邮件发送价格

🔔🔔🔔

扫描二维码推送至手机访问。

版权声明:本文由MailBing邮件营销博客发布,如需转载请注明出处。

本文链接:https://edm.mailbing.com/id6326.html

分享给朋友: