# beam-community/bamboo

Testable, composable, and adapter based Elixir email library for devs that love piping.

Repository: https://github.com/beam-community/bamboo
Canonical: https://ross.abutalabs.com/products/bamboo
Homepage: https://hex.pm/packages/bamboo
Language: Elixir
License: MIT
License Family: permissive
Topics: elixir, email, elixir-phoenix, bamboo
Last push: 2026-08-17T08:19:50+00:00

## Health v2 (maintenance only)
Score: 70/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 98, release rhythm 16, longevity 100
- inputs: {"age_days": 3957, "days_push": 16, "days_rel": 404, "gap_med": 150.5, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1959, forks 340 (observed 2026-08-28T04:05:59.278643+00:00)

## What it is
Bamboo is an adapter-based email library for Elixir that separates email creation from delivery, with built-in adapters for services like Mailgun, SendGrid, Mandrill, SparkPost, and Postmark. It integrates with Phoenix, supports background delivery via deliver_later, and provides helpers for easy unit and integration testing of emails.

## Use cases
- send transactional emails from an Elixir or Phoenix app
- test email sending in Elixir without actually delivering mail
- switch email providers like SendGrid or Mailgun via adapters
- send emails in the background without blocking requests
- preview sent emails during development
- render emails using Phoenix views and layouts

## When to choose
- you're building an Elixir or Phoenix application that needs to send email
- you want easily testable email code with assertions against email fields
- you need adapter-based support for multiple mail delivery services
- you want background email delivery out of the box

## When to avoid
- your project is not on the Elixir/Erlang BEAM ecosystem
- you need an email service with no existing Bamboo adapter and don't want to write one
- you only need raw SMTP sending with no abstraction

## Facets
- artifact type: library
- maturity: stable
- function: email, testing, http-client, middleware
- domain: email, web-development, backend, developer-tools, testing
- platform: elixir, jvm
- tags: elixir-email, phoenix, mailgun, sendgrid, mandrill, postmark, sparkpost, adapter-based, deliver-later, email-testing, web-server

## Member repositories
- beam-community/bamboo (main) score 70

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:59.278643+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-30T03:05:57.886919+00:00, confidence not recorded.
  - readme: https://github.com/beam-community/bamboo (fetched 2026-08-28T04:05:59.278643+00:00, sha 9b52830334d2)
  - homepage: https://hex.pm/packages/bamboo (fetched 2026-08-29T10:45:48.562171+00:00, sha ae5ad50e2e9b)
  - site_page: https://hex.pm/docs (fetched 2026-08-29T10:45:48.572937+00:00, sha 3f449054c5e0)
  - site_page: https://hex.pm/about (fetched 2026-08-29T10:45:48.574505+00:00, sha 627eac420427)
  - site_page: https://hex.pm/docs/faq (fetched 2026-08-29T10:45:48.576054+00:00, sha 2914acf2582a)
  - site_page: https://hex.pm/pricing (fetched 2026-08-29T10:45:48.571072+00:00, sha b0a5082843ed)
- Data as of 2026-08-30T08:39:29.467469+00:00.
