# bamboo v2.5.1 - Table of Contents > Straightforward, powerful, and adapter based Elixir email library. Works with Mandrill, Mailgun, SendGrid, SparkPost, Postmark, in-memory, and test. ## Pages - [README](readme.md) - [Upgrading to Bamboo 2.0](upgrade_to_2_0.md) ## 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.