# bbottema/simple-java-mail

Simple API, Complex Emails (Jakarta Mail smtp wrapper)

Repository: https://github.com/bbottema/simple-java-mail
Canonical: https://ross.abutalabs.com/products/simple-java-mail
Homepage: http://www.simplejavamail.org
Language: Java
License: Apache-2.0
License Family: permissive
Topics: java, java-mail, outlook, batch-processing, smime, dkim, dmarc, high-performance, spring-support, conversion, cli-support, builder-api, proxy, configurable, email, smtp, jakarta-mail, javamail, oauth2, smtp-client
Last push: 2026-08-26T16:21:20+00:00

## Health v2 (maintenance only)
Score: 99/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 98, longevity 100
- inputs: {"age_days": 4156, "days_push": 7, "days_rel": 19, "gap_med": 1, "n_releases_24m": 26}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1290, forks 272 (observed 2026-08-28T04:04:15.399236+00:00)

## What it is
Simple Java Mail is a Java library that wraps Jakarta Mail with a fluent builder API for composing and sending well-formed MIME emails. It adds DKIM, S/MIME, OAuth2, proxies, batch sending, validation, conversion, and Spring support on top of standard SMTP transport.

## Use cases
- send emails from a java application
- send html emails with attachments in java
- sign emails with dkim or smime
- send email through an authenticated socks proxy
- send emails asynchronously or in batches
- convert between email formats like EML, Outlook MSG and MIME
- validate email addresses before sending
- send email with oauth2 authentication

## When to choose
- you want a simple fluent API instead of raw Jakarta Mail Session and MimeMessage code
- you need DKIM, S/MIME, OAuth2, or proxy support for SMTP delivery
- you need email format conversion (EML, Outlook MSG, MIME)
- you want batch, pooled, or clustered SMTP sending from Java

## When to avoid
- you need a full email server or mailbox/IMAP client rather than an SMTP sending library
- you are not on the JVM
- you only need a hosted email API client like SendGrid or Mailgun

## Facets
- artifact type: library
- maturity: stable
- function: email, http-client, cli, sdk
- domain: email, developer-tools, backend, apis
- platform: jvm, cross-platform, cli
- tags: jakarta-mail, smtp-client, fluent-api, dkim, smime, oauth2, spring-support, email-conversion, batch-sending

## Member repositories
- bbottema/simple-java-mail (main) score 99

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:15.399236+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:54:51.404470+00:00, confidence not recorded.
  - readme: https://github.com/bbottema/simple-java-mail (fetched 2026-08-28T04:04:15.399236+00:00, sha 7063bf0f9dcc)
  - homepage: http://www.simplejavamail.org (fetched 2026-08-29T12:11:25.164918+00:00, sha d953c98bf6c0)
  - site_page: https://www.simplejavamail.org/features.html (fetched 2026-08-29T12:11:25.167653+00:00, sha 8957dab639a9)
  - site_page: https://www.simplejavamail.org/docs.html (fetched 2026-08-29T12:11:25.170830+00:00, sha b9347e8c1395)
- Data as of 2026-08-30T08:39:29.467469+00:00.
