Created
June 19, 2012 14:27
-
-
Save chebyte/2954502 to your computer and use it in GitHub Desktop.
sengrid smtp api gem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
= SendGrid SMTP API gem for Rails | |
SendGrid SMTP API gem provides ActionMailer::Base extensions to use SendGrid API features in you emails. | |
It extends ActionMailer with next methods: | |
substitute(patters_string, array_of_substitunion_strings) | |
uniq_args(hash_of_unique_args) | |
category(category_string) | |
open_tracking(enabled = true) | |
add_filter_setting(filter_name, setting_name, value) | |
standard_smtp(enabled = true) | |
== Rails 3 configuration | |
In your Gemfile: | |
gem 'sendgrid_smtpapi' | |
In your config/environment.rb: | |
ActionMailer::Base.register_interceptor(SendGridSmtpApi::MailInterceptor) | |
ActionMailer::Base.smtp_settings = { | |
:address => 'smtp.sendgrid.net', | |
:port => '25', | |
:domain => 'example.com', | |
:authentication => :plain, | |
:user_name => '[email protected]', | |
:password => 'your password' | |
} | |
== Usage examples | |
=== Adding multiple recipients: | |
class Mailer < ActionMailer::Base | |
default :from => '[email protected]', | |
:subject => 'An email sent via SendGridSmtpApi' | |
def email_with_multiple_recipients | |
mail :to => %w([email protected] [email protected]) | |
end | |
end | |
=== Adding substitution vars | |
Mailer class definition: | |
class Mailer < ActionMailer::Base | |
default :from => '[email protected]', | |
:subject => 'An email sent via SendGridSmtpApi with substitutions' | |
def email_with_substitutions | |
substitute '-user_name-', %w(User1 User2) | |
mail :to => %w([email protected] [email protected]), :body => "Hello, -user_name-!" | |
end | |
end | |
=== Adding category | |
Mailer class definition: | |
class Mailer < ActionMailer::Base | |
default :from => '[email protected]', | |
:subject => 'An email sent via SendGridSmtpApi with substitutions' | |
def email_with_category | |
category 'SendGridSmtpApiRocks' | |
mail :to => '[email protected]' | |
end | |
end | |
== Apps (formerly called Filters) | |
Apps can be applied to any of your email messages and can be configured through SendGridSmtpApi gem. | |
=== Open Tracking | |
Add an invisible image at the end of the email to track e-mail opens. If the email recipient has images enabled on the email client, a request to server for the invisible image is executed and an open is logged. | |
class Mailer < ActionMailer::Base | |
default :from => '[email protected]', | |
:subject => 'An email sent via SendGridSmtpApi' | |
def email_with_open_tracking_enabled | |
open_tracking true | |
mail :to => '[email protected]' | |
end | |
end | |
=== Use Standard SMTP | |
if you want to customize the header for sendgrids api but you need keep standard SMTP see below: | |
class Mailer < ActionMailer::Base | |
default :from => '[email protected]', | |
:subject => 'An email sent via SendGridSmtpApi' | |
def email_standard_smtp | |
standard_smtp true | |
open_tracking true | |
mail :to => '[email protected]' | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment