Я пытаюсь сделать простое уведомление по электронной почте, когда пользователь регистрируется.
Моя учетная запись пользователя работает нормально, и я точно следовал учебнику "Отправка электронной почты" , но не смог заставить ее работать. Что я делаю не так?
user_controller.rb
class Admin::UsersController < InheritedResources::Base
before_filter :admin_only
actions :index, :show, :new, :edit, :create, :update, :destroy
respond_to :html
# def new
# @user = User.new(:invitation_token => params[:invitation_token])
# @user.email = @user.invitation.recipient_email
# end
def create
@user = User.new(params[:user])
UserMailer.deliver_registration_confirmation(@user) < -- where I added the mailer
@user.save(false)
respond_to do |format|
format.html{ redirect_to admin_users_path}
end
end
private
def collection
paginate_options ||= {}
paginate_options[:page] ||= (params[:page] || 1)
paginate_options[:per_page] ||= (params[:per_page] || 20)
@search = User.search(params[:search])
@users ||= @search.all.paginate(paginate_options)
end
end
окружающая среда / production.rb
# Settings specified here will take precedence over those in config/environment.rb
config.action_mailer.default_url_options = { :host => 'alpine.totaline.com' }
config.action_mailer.raise_delivery_errors = true
# set delivery method to :smtp, :sendmail or :test
config.action_mailer.delivery_method = :smtp
# these options are only needed if you choose smtp delivery
config.action_mailer.smtp_settings = {
:address => 'smtp.gmail.com',
:port => 25,
:domain => 'alpine.totaline.com',
:authentication => :login,
:user_name => 'emailname@gmail.com',
:password => 'thepassword'
}
модель / user_mailer.rb
class UserMailer < ActionMailer::Base
def registration_confirmation(user)
recipients user.email
from "webmaster@alpinechallenge.com"
subject "Thank you for Registering"
body "You are now registered on the Alpine Challenge!"
end
end