#206
04 августа 2010

Action Mailer в Rails 3

В Rails 3 Action Mailer претерпел значительные изменения и теперь с использованием gem'a Mail предоставляет значительно более чистый API.
Скачать (39.3 МБ, 11:48)

Источники

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>

RSS Feed for Episode Comments 2 comments

1. avsej Mar 01, 2011 at 07:42

а почему исходники так криво отформатированы?


2. geniyz Mar 23, 2011 at 13:53

А поможете настроить под yandex?
не получается у меня што-то ... =(

Оставьте свой комментарий:

(ПРОПУСТИТЕ ЭТО ПОЛЕ)

(необходимо)

(не будет отображаться)


(используйте pastie или gist для вставки кода)



Друзья:
Спонсоры:
Масс-медиа:
Facebook_icon Twitter_icon Vkontakte_icon
Воздай Опенсорсерам