Mail::X::Smtpapi
Integrates support for SendGrid's X-SMTPAPI field into the Mail gem.
Please refer to SendGrid docs for ideas of what you can do with the X-SMTPAPI header!
Installation
Add this line to your application's Gemfile:
gem 'mail-x_smtpapi'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mail-x_smtpapi
Usage
Write into the X-SMTPAPI header from anywhere with access to the mail
object.
Example: Rails Mailer
Adapting the Rails Guide example:
class UserMailer < ActionMailer::Base
def welcome(user)
@user = user
mail.smtpapi.category = 'welcome'
mail.smtpapi.unique_args['user_id'] = @user.id
mail(to: @user.email, subject: 'Welcome to My Awesome Site')
end
end
Example: Mail Interceptor
Adapting the Rails Guide example:
class SandboxEmailInterceptor
def self.delivering_email(message)
message.smtpapi.unique_args['original'] = message.to
message.to = ['sandbox@example.com']
end
end
Example: Template Helper
module MailerABHelper
def show_variant?(name)
variant = rand(2) == 0 ? 'main' : 'alternate'
mail.smtpapi.unique_args["#{name}_variant"] = variant
return variant == 'alternate'
end
end
Contributing
- Fork it ( https://github.com/kickstarter/mail-x_smtpapi/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request