Screencast: ActionMailer in Rails 3

Auch ActionMailer wurde in Rails 3 neu geschrieben und bietet nun eine einfache Möglicheit es zu benutzen. In der neuen Version baut ActionMail auf dem gem Mail auf. Ryan zeigt diese Woche wie es benutzt werden kann.

 

Download:

Download (27.5 MB, 12:20)
Alternative Download für iPod & Apple TV (16.3 MB, 12:20)

 

Resourcen:

 

Quellcode:

rails mailit
cd mailit
rails g scaffold user name:string email:string
rake db:migrate
rails g mailer user_mailer
bundle install
# config/initializers/setup_mail.rb
ActionMailer::Base.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => 587,
  :domain               => "railscasts.com",
  :user_name            => "railscasts",
  :password             => "secret",
  :authentication       => "plain",
  :enable_starttls_auto => true
}

ActionMailer::Base.default_url_options[:host] = "localhost:3000"
Mail.register_interceptor(DevelopmentMailInterceptor) if Rails.env.development?

# app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
  default :from => "ryan@railscasts.com"

  def registration_confirmation(user)
    @user = user
    attachments["rails.png"] = File.read("#{Rails.root}/public/images/rails.png")
    mail(:to => "#{user.name} <#{user.email}>", :subject => "Registered")
  end
end

# users_controller.rb
UserMailer.registration_confirmation(@user).deliver

# Gemfile
gem "mail", "2.1.3"

# lib/development_mail_interceptor.rb
class DevelopmentMailInterceptor
  def self.delivering_email(message)
    message.subject = "#{message.to} #{message.subject}"
    message.to = "ryan@railscasts.com"
  end
end
<!-- views/user_mailer/registration_confirmation.text.erb -->
<%= @user.name %>,

Thank you for registering!

Edit profile: <%= edit_user_url(@user) %>

<!-- views/user_mailer/registration_confirmation.html.erb -->
<p><%= @user.name %>,</p>

<p>Thank you for registering!</p>

<p><%= link_to "Edit profile", edit_user_url(@user) %></p>

Eingestellt am 23.03.2010 um 11:02

Kategorie: Tutorials

Be Sociable, Share!

Kommentare für diesen Artikel wurden geschlossen.

Suchen auf rubyonrails.de

Aktuelle Rails Version + Abhängigkeiten:

Gem rails-3.0.0
actionmailer (= 3.0.0, runtime)
actionpack (= 3.0.0, runtime)
activerecord (= 3.0.0, runtime)
activeresource (= 3.0.0, runtime)
activesupport (= 3.0.0, runtime)
bundler (~> 1.0.0, runtime)
railties (= 3.0.0, runtime)

Rails auf Rubyforge
Rails auf Github