Rubygem wrapper for deliverHQ API.
gem install deliverhq
or
(in Gemfile or .gemspec)
gem 'deliverhq'
then
require 'deliverhq'
Set your API ID and key using the two environment variables, DELIVERHQ_ID
and DELIVERHQ_KEY
. This can be found in the "Setup" section of your DeliverHQ account.
Deliverhq::send(from: '[email protected]', to: '[email protected]', subject: 'Hello!', plain_body: 'This is a test.')
#=> #<Deliverhq::Message:0x007fc79...
# Retrieve all domains associated with your account
Deliverhq::Domain.all
#=> [#<Deliverhq::Domain:0x007fc79c1..]
# Create a new domain
domain = Deliverhq::Domain.create(name: 'test.com')
#=> #<Deliverhq::Domain:0x007fc79c134a78 @id=7970, @account_id=506, @name="test.com", @verification_token="punqv7acjm", @verified_at=nil>
# And remove it
domain.destroy
#=> true
# Retrieve all mailboxes associated with your account
Deliverhq::Mailbox.all
#=> [#<Deliverhq::Mailbox:0x007fc79c2...
# Create a new mailbox
mailbox = Deliverhq::Mailbox.create(name: 'Incoming Support',
check_spam: 0,
destination_address: 'http://app.sirportly.com/modules/deliver2/accept',
destination_type: 'http',
domain_id: 6707,
encoding:'post',
format: 'full',
reply_stripping: false,
partial_address: 'support')
# And remove it
mailbox.destroy
#=> true
# Retrieve messages by page
page = 1
Deliverhq::Message.all(page)
#=> [#<Deliverhq::Message:0x007f88e29...
page = 2
Deliverhq::Message.all(page)
#=> [#<Deliverhq::Message:0x008ef62a9...
page = 999
Deliverhq::Message.all(page)
#=> []
# Show individual message
Deliverhq::Message.find(226945)
#=> #<Deliverhq::Message:0x007f88e2998a28 @id=222697445, @envelope_to ...
If the API reports an error, the gem will raise the message as an exception of type Deliverhq::RequestError
. e.g.
domain = Deliverhq::Domain.create(name: 'test.com')
#=> #<Deliverhq::Domain:0x007fc79c134a78 @id=7970, @account_id=506, @name="test.com", @verification_token="punqv7acjm", @verified_at=nil>
domain.destroy
#=> true
# Try to remove it after it's been removed
domain.destroy
#=> Deliverhq::RequestError: Server responded with 404: {"error":"Not Found"}
You can learn more about the DeliverHQ API here: http://deliver.apidoc.io/.