Module: Sinatra::Mailer
- Included in:
- EventContext
- Defined in:
- lib/sinatra/ditties/mailer.rb
Overview
Sinatra::Mailer
Adds an #email method to your email handlers, that receives a hash of values to create your email.
For example:
post "/signup" do
# sign up the user, and then:
email :to => @user.email,
:from => "[email protected]",
:subject => "Welcome to Awesomeness!",
:body => haml(:some_template)
end
Configuration
This plugin is very dirty yet :) Since it’s just a port to Sinatra of Merb::Mailer. So the configuration is not Sinatra-y, yet. But we’ll get to that.
Using SMTP
Sinatra::Mailer.config = {
:host => 'smtp.yourserver.com',
:port => '25',
:user => 'user',
:pass => 'pass',
:auth => :plain # :plain, :login, :cram_md5, the default is no auth
:domain => "localhost.localdomain" # HELO domain provided by the client
}
Using Gmail SMTP
You need smtp-tls, a gem that improves Net::HTTP to add support for secure servers such as Gmail.
require "smtp-tls"
Sinatra::Mailer.config = {
:host => 'smtp.gmail.com',
:port => '587',
:user => '[email protected]',
:pass => 'pass',
:auth => :plain
}
Make sure that when you call your #email method you pass the :text
option and not :body
.
Using sendmail
Sinatra::Mailer.config = {:sendmail_path => '/somewhere/odd'}
Sinatra::Mailer.delivery_method = :sendmail
Credits
This has been blatantly adapted from Merb::Mailer so all credit is theirs, I just ported it to Sinatra.
Defined Under Namespace
Classes: Email
Class Attribute Summary collapse
-
.config ⇒ Object
Returns the value of attribute config.
-
.delivery_method ⇒ Object
Returns the value of attribute delivery_method.
Instance Method Summary collapse
Class Attribute Details
.config ⇒ Object
Returns the value of attribute config.
77 78 79 |
# File 'lib/sinatra/ditties/mailer.rb', line 77 def config @config end |
.delivery_method ⇒ Object
Returns the value of attribute delivery_method.
77 78 79 |
# File 'lib/sinatra/ditties/mailer.rb', line 77 def delivery_method @delivery_method end |