# bamboo v2.5.1 - API Reference

## Modules

- [Bamboo.Adapter](Bamboo.Adapter.md): Behaviour for creating Bamboo adapters
- [Bamboo.AdapterHelper](Bamboo.AdapterHelper.md)
- [Bamboo.Attachment](Bamboo.Attachment.md): 
- [Bamboo.DeliverLaterStrategy](Bamboo.DeliverLaterStrategy.md): Behaviour for delivering emails with `Bamboo.Mailer.deliver_later/1`.
- [Bamboo.Email](Bamboo.Email.md): Contains functions for composing emails.
- [Bamboo.Formatter](Bamboo.Formatter.md): Converts data to email addresses.
- [Bamboo.ImmediateDeliveryStrategy](Bamboo.ImmediateDeliveryStrategy.md): Strategy for `Bamboo.Mailer.deliver_later/1` that sends the email
immediately.
- [Bamboo.Interceptor](Bamboo.Interceptor.md): Behaviour for creating an Interceptor.
- [Bamboo.LocalAdapter](Bamboo.LocalAdapter.md): Stores emails locally. Can be queried to see sent emails.
- [Bamboo.Mailer](Bamboo.Mailer.md): Functions for delivering emails using adapters and delivery strategies.
- [Bamboo.MailgunAdapter](Bamboo.MailgunAdapter.md): Sends email using Mailgun's API.
- [Bamboo.MailgunHelper](Bamboo.MailgunHelper.md): Functions for using features specific to Mailgun
(e.g. tagging, templates).

- [Bamboo.MandrillAdapter](Bamboo.MandrillAdapter.md): Sends email using Mandrill's JSON API.
- [Bamboo.MandrillHelper](Bamboo.MandrillHelper.md): Functions for using features specific to Mandrill (e.g. tagging, merge vars,
templates).

- [Bamboo.SendGridAdapter](Bamboo.SendGridAdapter.md): Sends email using SendGrid's JSON API.
- [Bamboo.SendGridHelper](Bamboo.SendGridHelper.md): Functions for using features specific to Sendgrid.
- [Bamboo.SentEmail](Bamboo.SentEmail.md): Used for storing and retrieving sent emails when used with `Bamboo.LocalAdapter`.
- [Bamboo.SentEmailApiPlug](Bamboo.SentEmailApiPlug.md): A plug that exposes delivered emails over a JSON API.
- [Bamboo.SentEmailViewerPlug](Bamboo.SentEmailViewerPlug.md): A plug that can be used in your router to see delivered emails.
- [Bamboo.TaskSupervisorStrategy](Bamboo.TaskSupervisorStrategy.md): Default strategy. Sends an email in the background using `Task.Supervisor`.
- [Bamboo.Template](Bamboo.Template.md): Render emails with layouts, view modules, and templates.
- [Bamboo.Test](Bamboo.Test.md): Helpers for testing email delivery.
- [Bamboo.TestAdapter](Bamboo.TestAdapter.md): Used for testing email delivery.
- [Bamboo.View](Bamboo.View.md): Compiles and renders templates defined in a given path.

- Exceptions
  - [Bamboo.ApiError](Bamboo.ApiError.md): Error used to represent a problem when sending emails through an external email service API.

  - [Bamboo.EmptyFromAddressError](Bamboo.EmptyFromAddressError.md)
  - [Bamboo.NilRecipientsError](Bamboo.NilRecipientsError.md)
  - [Bamboo.SentEmail.DeliveriesError](Bamboo.SentEmail.DeliveriesError.md)
  - [Bamboo.SentEmail.NoDeliveriesError](Bamboo.SentEmail.NoDeliveriesError.md)
  - [Bamboo.View.UndefinedTemplateError](Bamboo.View.UndefinedTemplateError.md): Exception raised when a template cannot be found.

