Project

mailgunner

0.03
A long-lived project that still receives updates
Ruby client for the Mailgun API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 2
~> 1
 Project Readme

mailgunner

Gem Version Test Status

Ruby client for the Mailgun API.

Installation

$ gem install mailgunner

Usage

require 'mailgunner'

Mailgunner.configure do |config|
  config.domain = 'samples.mailgun.org'
  config.api_key = 'key-3ax6xnjp29jd6fds4gc373sgvjxteol0'
end

mailgun = Mailgunner::Client.new

mailgun.get_domains.items.each do |item|
  puts "#{item.id} #{item.name}"
end

Storing the API key

Best practice for credentials is to store them in the environment. Mailgunner::Client defaults to extracting the domain and api_key values it needs from the MAILGUN_API_KEY and MAILGUN_SMTP_LOGIN environment variables—these will exist if you are using Mailgun on Heroku, or you can set them manually.

ActionMailer integration

Mailgunner integrates with ActionMailer. If you are using Rails, you can use Mailgunner to send mail via Mailgun by adding the following line to config/environments/production.rb:

config.action_mailer.delivery_method = :mailgun

If for some reason you can't set the required ENV variables, you can configure Mailgunner through ActionMailer settings:

config.action_mailer.mailgun_settings = {
  domain: 'test.com',
  api_key: 'your-api-key'
}

Outside of Rails you can set ActionMailer::Base.delivery_method directly.

Specifying the region

Mailgun offers both a US and EU region to send your email from. Mailgunner uses the US region by default. If you wish to use the EU region set the api_host config option like so:

Mailgunner.configure do |config|
  config.api_host = 'api.eu.mailgun.net'
end