Rails Courrier
Rails-specific features for Courrier, the API-powered email delivery gem for Ruby.
Sponsored By Rails Designer
Installation
Add to your Gemfile:
bundle add rails_courrierSetup
Generate the initializer:
bin/rails generate courrier:installThis creates config/initializers/courrier.rb.
Generate an email:
bin/rails generate courrier:email OrderThis creates app/emails/order_email.rb.
Mount the engine for inbox previews:
# config/routes.rb
mount Courrier::Engine => "/courrier"Usage
Send emails
OrderEmail.deliver to: "recipient@railsdesigner.com"Deliver later via ActiveJob
OrderEmail.deliver_later to: "recipient@railsdesigner.com"Configure queue options in the email class:
class OrderEmail < Courrier::Email
enqueue queue: "emails", wait: 5.minutes
def subject = "Your order is ready!"
# …
endInbox provider
Preview emails in your browser:
# config/initializers/courrier.rb
Courrier.configure do |config|
config.email = { provider: "inbox" }
endEnable auto-open:
config.email = { provider: "inbox" }
config.inbox.auto_open = trueClear inbox files:
bin/rails courrier:clearURL helpers
Rails Courrier automatically includes Rails URL helpers in your email classes:
class OrderEmail < Courrier::Email
def text
"View your order: #{order_url(token: "abc123")}"
end
endDocumentation
See the Courrier README for full configuration, providers, layouts, templates and more.
Contributing
This project uses Standard for formatting Ruby code. Please make sure to run rake before submitting pull requests.
License
Courrier is released under the MIT License.
