Search code examples
ruby-on-railsactionmailerramaze

ActionMailer and Ramaze


Is it possible to use ActionMailer in a web framework like Ramaze, or do I need to use Rails?


Solution

  • You can use ActionMailer without Rails quite easily. I'm not familiar with Ramaze, but here's plain ruby, which should be easy to integrate into whatever framework you wish:

    PATH/mailer.rb

    require 'rubygems'
    require 'action_mailer'
    
    class Mailer < ActionMailer::Base
      def my_email
        recipients "recipient@their_domain.com"
        from       "me@my_domain.com"
        subject    "my subject"
    
        body        :variable1 => 'a', :variable2 => 'b'
      end
    end
    
    Mailer.template_root = File.dirname(__FILE__)
    Mailer.delivery_method = :sendmail
    Mailer.logger = Logger.new(STDOUT)
    
    # this sends the email
    Mailer.deliver_my_email
    

    Then put the email templates in a directory named after the your ActionMailer class

    PATH/mailer/my_email.html.erb

    variable 1: <%= @variable1 %>
    variable 2: <%= @variable2 %>
    

    Check out the API Docs for more configuration options, but those are the basics