EmailFuse Ruby and Rails SDK
Installation
To install EmailFuse Ruby and Rails SDK, simply execute the following command in a terminal:
Via RubyGems:
gem install emailfuse
Via Gemfile:
gem 'emailfuse'
Setup
require "emailfuse"
EmailFuse.api_key = ENV["EMAILFUSE_API_KEY"]
or
require "emailfuse"
EmailFuse.configure do |config|
config.api_key = ENV["EMAILFUSE_API_KEY"]
end
Example
require "emailfuse"
EmailFuse.api_key = ENV["EMAILFUSE_API_KEY"]
params = {
"from": "[email protected]",
"to": ["[email protected]", "[email protected]"],
"html": "<h1>Hello World</h1>",
"subject": "Hey"
}
r = EmailFuse::Emails.send(params)
puts r
Rails and ActionMailer support
This gem can be used as an ActionMailer delivery method, add this to your config/environments/environment.rb file.
config.action_mailer.delivery_method = :emailfuse
Configuration Options
You can configure the API key and host in two ways:
Option 1: Global Configuration (Initializer)
Create or update your mailer initializer file:
# /config/initializers/emailfuse.rb
EmailFuse.configure do |config|
config.api_key = ENV["EMAILFUSE_API_KEY"]
config.base_url = "https://api.emailfuse.net" # optional, defaults to https://api.emailfuse.net
end
Option 2: Rails Mailer Settings
Configure directly in your environment file:
# config/environments/production.rb
config.action_mailer.delivery_method = :emailfuse
config.action_mailer.emailfuse_settings = {
api_key: ENV["EMAILFUSE_API_KEY"],
host: "https://api.emailfuse.net" # optional
}
Settings configured via emailfuse_settings take precedence over the global configuration, allowing you to use different credentials per environment.
Sending Emails
After configuration, you can use deliver_now!:
mailer = EmailMailer.email(self)
response = mailer.deliver_now!
puts response[:id]
# => "b8f94710-0d84-429c-925a-22d3d8f86916"