2012-06-04 3 views
0

Я пытаюсь отправить электронное письмо администратору мероприятия после подтверждения пользователем.Rails: Devise: post-confirm error

См: Rails: Devise: Sending an email after user comfirms registration

Я написал EventMailer класс следующим образом:

class EventMailer < ActionMailer::Base 
    @user = User 

    @host_name = "localhost:3000" if Rails.env.development? 
    @host_name = "test.com" if Rails.env.test? 
    @host_name = "production.com" if Rails.env.production? 

def self.send_email_to_admin 
    @@smtp_settings = { #override default smtp settings since I'm using a difference sender 
    :address => "smtp.gmail.com", 
    :port => 587, 
    :domain => @host_name, 

    :authentication => "plain", 
    :enable_starttls_auto_=> true, 
    :user_name => ENV["ORG_FROM"], 
    :password => ENV["ORG_FROM_PWD"], 
    :to => ADMIN_RECIPIENTS 
    #ADMIN_RECIPIENTS is defined elsewhere 
    } 
    mail(:subject => "Invite request received from " + @user.first.to_s + " " + @user.last.to_s) 
end 
end 

При регистрации пользователей, они получают ссылку на регистрацию. Когда они нажимают на эту ссылку, они получают следующее сообщение об ошибке:

undefined method `mail' for EventMailer:Class 

app/mailers/event_mailer.rb:20:in `send_email_to_admin' 
app/controllers/confirmations_controller.rb:11:in `show' 

Любые идеи?

EDIT:

Решение двигаться как: к и: внутри почты nethod

ответ

0

Попробуйте переставить :to => DENT_ADMIN_RECIPIENTS в метод почты:

mail(:to => DENT_ADMIN_RECIPIENTS, :subject => "Invite request received from " + @user.first.to_s + " " + @user.last.to_s) 
+0

Я все еще получаю ту же ошибку , Документы говорят, что: может быть в smtp_settings hassh – EastsideDeveloper

+0

Где эти документы? Я не видел ничего [здесь] (http://api.rubyonrails.org/classes/ActionMailer/Base.html#label-Configuration+options) о разрешении: в хэш-таблице smtp_settings. – flynfish

+0

Извините. а не документацию, а сеанс QA на StackOverflow. Оказывается, решение состоит в том, чтобы перемещать как To, так и From внутри почтового метода – EastsideDeveloper

Смежные вопросы