2012-12-03 74 views
0

我正在關注這個railscast,以熟悉rails 3中的ActionMailer,但是我沒有辦法讓電子郵件交付。Rails 3郵件問題

我在想我的問題可能與我的setup_mail.rb文件,任何人都可以在這裏發現問題?我試圖讓上午的電子郵件從我的Gmail帳戶發送[email protected]

ActionMailer::Base.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :domain    => "gmail.com", 
    :user_name   => "jbdyno", 
    :password    => "I PUT MY PASSWORD HERE", 
    :authentication  => "plain", 
    :enable_starttls_auto => true 
} 

其他文件

user_mailer.rb

class UserMailer < ActionMailer::Base 
    default from: "[email protected]" 

    def registration_confirmation(user) 
    mail(:to => user.email, :subject => "Registered") 
    end 

end 

registration_confirmation.text.erb

Thanks for registering! 

users_controller .rb

def create 
    @user = User.new(params[:user]) 

    respond_to do |format| 
     if @user.save 
     UserMailer.registration_confirmation(@user).deliver 
     format.html { redirect_to @user, notice: 'User was successfully created.' } 
     format.json { render json: @user, status: :created, location: @user } 
     else 
     format.html { render action: "new" } 
     format.json { render json: @user.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

謝謝!

+0

你做的第一眼看起來不錯。你的日誌中是否有任何遞送錯誤或任何提示可能發生? –

+2

您是否在您試圖發送電子郵件的環境中設置了'config.action_mailer.delivery_method =:smtp'? (請參閱[在Actionmailer上的Rails指南](http://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration-for-gmail)以及gmail的特定設置)。 –

+0

作者:Ryan Bates,RailsCasts的創建者,爲了獲得正在開發中的電子郵件,有一個偉大的創意,[** letter_opener **](https://github.com/ryanb/letter_opener)。 –

回答

1

在您嘗試從您發送電子郵件的環境配置中,可能需要添加config.action_mailer.delivery_method = :smtp。請參閱Rails Guides on ActionMailer (Setup with Gmail)

確保在對配置文件進行更改後重新啓動開發服務器。