2011-06-24 21 views
2

お願いします。ローカルホストから電子メールを送信するにはどうすればいいですか?例えば、私は開発環境で書いています。電子メールで送信する

config.action_mailer.default_url_options = { :host => 'localhost:3000' } 

しかし、私は自分のアドレスで電子メールを送信しません。

答えて

3

開発環境で電子メールを送信するためのイニシャライザを設定する必要があります。

場所でこの設定:設定/初期化子/ mail.rb

ActionMailer::Base.smtp_settings = { 
    :address    => "smtp.gmail.com", 
    :port     => 587, 
    :domain    => "gmail.com", 
    :user_name   => "username", 
    :password    => "password", 
    :authentication  => "plain", 
    :enable_starttls_auto => true 
} 

注:Gmailを使用していない、あなたのSMTPクライアントの設定を変更する必要があります場合は、この設定は、Gmailのです。

このファイルをレールアプリに追加した後にサーバーを再起動する必要があることに注意してください。

Railscastの素晴らしいエピソードがあります。それはあなたに役立ちますhere

0
#this works well 
add_column :users, :confirmation_token, :string 
add_column :users, :confirmed_at, :datetime 
add_column :users, :confirmation_sent_at, :datetime 
add_column :users, :unconfirmed_email, :string 

#But this cannot work !!! 
add_column :users, :confirmation_token, :string, :null => false, :default => '' 
add_column :users, :confirmed_at, :datetime, :null => false, :default => '1970-01-01' 
add_column :users, :confirmation_sent_at, :datetime, :null => false, :default => '1970-01-01' 
add_column :users, :unconfirmed_email, :string, :null => false, :default => '' 

この問題を参照してください:https://github.com/plataformatec/devise/issues/2567

私は今日の問題をキャッチし、私はそれに5時間を費やしています。 confirmation_tokenのリレーショナル列がブランクの場合、Deviseの確認メールは機能しません。列がnullの場合はうまく動作します。

関連する問題