Class | ActionMailer::Base |
In: |
lib/action_mailer/base.rb
|
Parent: | Object |
Usage:
class ApplicationMailer < ActionMailer::Base # Set up properties # (Properties can also be specified via accessor methods # i.e. self.subject = "foo") and instance variables (@subject = "foo"). def signup_notification(recipient) recipients recipient.email_address_with_name subject "New account information" body { "account" => recipient } from "system@example.com" end # explicitly specify multipart messages def signup_notification(recipient) recipients recipient.email_address_with_name subject "New account information" from "system@example.com" part :content_type => "text/html", :body => render_message("signup-as-html", :account => recipient) part "text/plain" do |p| p.body = render_message("signup-as-plain", :account => recipient) p.transfer_encoding = "base64" end end # attachments def signup_notification(recipient) recipients recipient.email_address_with_name subject "New account information" from "system@example.com" attachment :content_type => "image/jpeg", :body => File.read("an-image.jpg") attachment "application/pdf" do |a| a.body = generate_your_pdf_here() end end # implicitly multipart messages def signup_notification(recipient) recipients recipient.email_address_with_name subject "New account information" from "system@example.com" body(:account => "recipient") # ActionMailer will automatically detect and use multipart templates, # where each template is named after the name of the action, followed # by the content type. Each such detected template will be added as # a separate part to the message. # # for example, if the following templates existed: # * signup_notification.text.plain.rhtml # * signup_notification.text.html.rhtml # * signup_notification.text.xml.rxml # * signup_notification.text.x-yaml.rhtml # # Each would be rendered and added as a separate part to the message, # with the corresponding content type. The same body hash is passed to # each template. end end # After this post_notification will look for "templates/application_mailer/post_notification.rhtml" ApplicationMailer.template_root = "templates" ApplicationMailer.create_comment_notification(david, hello_world) # => a tmail object ApplicationMailer.deliver_comment_notification(david, hello_world) # sends the email
These options are specified on the class level, like ActionMailer::Base.template_root = "/my/templates"
[R] |