mandriller

by dtaniwaki

dtaniwaki / mandriller

Mandrill SMTP API integration for ActionMailer

125 Stars 4 Forks Last release: Not found MIT License 47 Commits 12 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

mandriller

Gem Version Dependency Status Build Status Coverage Status Code Climate

Mandrill SMTP API integration for ActionMailer. See detail of the protocol on the official page.

Installation

Add the mandriller gem to your Gemfile.

gem "mandriller"

And run

bundle install
.

Add the following into any environment's settings in

config/environments/
.
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  :user_name => 'UserName',
  :password => 'Password',
  :address => "smtp.mandrillapp.com",
  :domain => "your-domain.com",
  :enable_starttls_auto => true,
  :authentication => 'login',
  :port => 587,
}

Usage

e.g.

class UserMailer < Mandriller::Base
  include AbstractController::Callbacks # To use before_filter in ActionMailer::Base

set_open_track set_click_track set_google_analytics [Settings.root_host, Settings.admin.host].uniq

before_filter do set_google_analytics_campaign "#{mailer_name.gsub(/_mailer$/, '')}/#{action_name.gsub(/_email$/, '')}" end

def test_mail mail from: '[email protected]', to: '[email protected]' end end

You can set the options globally and locally. Locally set option overwrites the one globally set. Just add any settings necessary for your mailers from the list below.

Settings

setopentrack

Enable open-tracking for the message.

  • set_open_track
    or
    set_open_track true
    : Enable
  • set_open_track false
    : Disable

setclicktrack

Enable click-tracking for the message.

  • set_click_track 'all'
    : enables click tracking on all emails
  • set_click_track 'htmlonly'
    : enables click tracking only on html emails
  • set_click_track 'textonly'
    : enables click tracking only on text emails

setautotext

Automatically generate a plain-text version of the email from the HTML content.

  • set_auto_text
    or
    set_auto_text true
    : Enable
  • set_auto_text false
    : Disable

setautohtml

Automatically generate an HTML version of the email from the plain-text content.

  • set_auto_html
    or
    set_auto_html true
    : Enable
  • set_auto_html false
    : Disable

set_template

Use an HTML template stored in your Mandrill account

  • set_template 'template_name'
    or
    set_template 'template_name', 'block_name'
    :

template_name

the name of the stored template.

block_name

the name of the mc:edit region where the body of the SMTP generated message will be placed. Optional and defaults to "main".

setmergevars

Add dynamic data to replace mergetags that appear in your message content.

  • set_merge_vars foo: 1, bar: 2

setgoogleanalytics

Add Google Analytics tracking to links in your email for the specified domains.

  • set_google_analytics ['foo.com', 'bar.com'
    ]

setgoogleanalytics_campaign

Add an optional value to be used for the utm_campaign parameter in Google Analytics tracked links.

  • set_google_analytics 'campaign_name'

set_metadata

Information about any custom fields or data you want to append to the message.

  • set_metadata foo: 1, bar: 2

seturlstrip_qs

Whether to strip querystrings from links for reporting.

  • set_url_strip_qs
    or
    set_url_strip_qs true
    : Enable
  • set_url_strip_qs false
    : Disable

setpreserverecipients

Whether to show recipients of the email other recipients, such as those in the "cc" field.

  • set_preserve_recipients
    or
    set_preserve_recipients true
    : Enable
  • set_preserve_recipients false
    : Disable

setinlinecss

Whether to inline the CSS for the HTML version of the email (only for HTML documents less than 256KB).

  • set_inline_css
    or
    set_inline_css true
    : Enable
  • set_inline_css false
    : Disable

settrackingdomain

Set a custom domain to use for tracking opens and clicks instead of mandrillapp.com.

  • set_tracking_domain
    or
    set_tracking_domain true
    : Enable
  • set_tracking_domain false
    : Disable

setsigningdomain

Set a custom domain to use for SPF/DKIM signing instead of mandrill (for "via" or "on behalf of" in email clients).

  • set_signing_domain
    or
    set_signing_domain true
    : Enable
  • set_signing_domain false
    : Disable

set_subaccount

Select a subaccount for sending the mail.

  • set_subaccount 'subaccount_id'

setviewcontent_link

Control whether the View Content link appears for emails sent for your account.

  • set_view_content_link
    or
    set_view_content_link true
    : Enable
  • set_view_content_link false
    : Disable

setbccaddress

An optional address that will receive an exact copy of the message, including all tracking data

  • set_bcc_address 'email_address'

set_important

Whether this message is important and should be delivered ahead of non-important messages

  • set_important
    or
    set_important true
    : Enable
  • set_important false
    : Disable

setippool

Specify a dedicated IP pool for the message.

  • set_ip_pool 'dedicated_ip_pool'

setreturnpath_domain

Specify a custom domain to use for the message's return-path

  • set_return_path_domain 'example.com'

setsendat

Specify a future date/time that the message should be scheduled for delivery

  • set_send_at 5.days.from_now

Only available for paid accounts

set_tags

Add tags to your emails.

  • set_tags ['tag1', 'tag2'
    ]

Contributing

  1. Fork it
  2. Create your feature branch (
    git checkout -b my-new-feature
    )
  3. Commit your changes (
    git commit -am 'Add some feature'
    )
  4. Push to the branch (
    git push origin my-new-feature
    )
  5. Create new Pull Request

Copyright

Copyright (c) 2014 Daisuke Taniwaki. See LICENSE for details.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.