Skip to content

迷你又实用的 Java 邮件发送类库,2行代码即可发送邮件。支持 QQ邮箱、QQ企业邮箱、新浪邮箱、网易163邮箱。

License

Notifications You must be signed in to change notification settings

MartyAlien/mini-email

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mini-email

迷你又实用的 Java 邮件发送类库,2行代码即可发送邮件。支持:QQ邮箱、QQ企业邮箱、新浪邮箱、网易163邮箱、中国移动139邮箱和微软outlook邮箱。

maven-central License

前言

  • 必须使用 jdk1.8 及以上版本

  • 若此项目你也在使用,请给一个 Star 鼓励下作者噢~

  • 若对项目有任何疑问,可在 Issues 上新增 Issue,作者看到会第一时间查看和回复噢~

  • 若你对项目有更好的功能或建设性代码,可从 fork mini-email 的 master 分支到本地仓库,对代码更改完成后,再向 mini-email 的 master 分支发起 pr。欢迎大家提交代码噢~

  • 国内访问github受限,所以下面贴上 gitee 和 github 对应项目地址,大家各自选择。请注意:最新代码会维护在 gitee ,github 代码同步会延迟。

特别的地方

  • 非常简洁的邮件发送API,2行代码即可发送邮件
  • 支持自定义发件人昵称、支持邮件抄送、密抄和附件发送
  • 支持发送 HTML 邮件
  • 支持返回邮件发送成功的邮箱
  • 支持自定义扩展邮件发送
  • 封装合理,代码易读易维护

使用方式

方式一:集成 starter

若是 SpringBoot 项目,推荐使用 mini-email-spring-boot-starter 进行自动装配,方便快速。

方式二:自行集成(单独封装成singleton util类)

maven坐标

<dependency>
    <groupId>io.github.thundzeng</groupId>
    <artifactId>mini-email</artifactId>
    <version>最新版本</version>
</dependency>

代码示例

public class MiniEmailTests {
    // 该邮箱修改为你需要测试的收件邮箱地址
    private static final String TO_EMAIL = "[email protected]";
    // 发送邮件给多个收件人
    private static final String[] TO_EMAILS = new String[]{"[email protected]", "[email protected]"};

    MiniEmailFactory miniEmailFactory;

    @Before
    public void before() {
        // 创建工厂类
        miniEmailFactory = new MiniEmailFactoryBuilder().build(MailConfig.config("[email protected]", "xxxxxx")
                .setMailDebug(Boolean.TRUE)
                .setSenderNickname("天雷盖地虎")
                .setMailSmtpHost(SmtpHostEnum.SMTP_QQ)
        );
    }

    /**
     * 快速发送文本邮件,2行代码搞定
     */
    @Test
    public void testSendText() {
        MiniEmail miniEmail = miniEmailFactory.init();
        List<String> sendSuccessToList = miniEmail
                .addCarbonCopy(new String[]{TO_EMAIL})
                .send(TO_EMAILS, "这是来自 mini-email 的测试信文本内容");
        System.out.println("send success to = " + sendSuccessToList);
    }

    /**
     * 快速发送Html邮件,2行代码搞定
     */
    @Test
    public void testSendHtml() {
        MiniEmail miniEmail = miniEmailFactory.init();
        List<String> sendSuccessToList = miniEmail
                .addBlindCarbonCopy(new String[]{TO_EMAIL})
                .send(TO_EMAILS, "HTML邮件主题", EmailContentTypeEnum.HTML, "<h1 style='color:red;'>这是来自 mini-email 的测试 HTML 内容</h1>");
        System.out.println("send success to = " + sendSuccessToList);
    }

    /**
     * 复杂组合发送(附件+抄送+密送)
     */
    @Test
    public void testSendAttachFileAndURL() throws MalformedURLException {
        File file = new File("D:\\Documents\\Pictures\\表情\\bug改完了吗.jpg");

        Assert.assertTrue("图片不存在", file.exists());

        URL url = new URL("https://avatars.githubusercontent.com/u/26403930?s=460&u=1a90eb155a8dbb56385be72a90fdd2911a068409&v=4");
        long start = System.currentTimeMillis();

        MiniEmail miniEmail = miniEmailFactory.init();
        List<String> sendSuccessToList = miniEmail
                .addCarbonCopy(new String[]{"[email protected]"})
                .addBlindCarbonCopy(new String[]{TO_EMAIL})
                .addAttachment(file, "666.jpg")
                .addAttachment(url, "THUNDZENG的头像.jpg")
                .send(TO_EMAILS, "致我们失去的青春", EmailContentTypeEnum.HTML, "<h2 style='color:blue;'>这是来自 mini-email 的测试 HTML 内容</h2><br /><h2 style='color:red;'>请查看附件内容</h2>");
        System.out.println("send finish,use time = " + (System.currentTimeMillis() - start) / 1000);

        System.out.println("send success to = " + sendSuccessToList);
    }
}

如何联系我

如果在使用过程中有任何疑问和建议,或者需要进行软件开发外包,可通过以下方式联系我:

  • 我的邮箱:[email protected]
  • 我的QQ(添加时备注:mini-email+申请备注):1846316024

About

迷你又实用的 Java 邮件发送类库,2行代码即可发送邮件。支持 QQ邮箱、QQ企业邮箱、新浪邮箱、网易163邮箱。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%