rails4 cloud9の環境でdevise を用いて、確認メールを送るようにしたい
いろいろやってみたが、次のとおりのエラーが・・・
Net::OpenTimeout in Devise::RegistrationsController#create
execution expired
Extracted source (around line #541):
def tcp_socket(address, port)
TCPSocket.open address, port
end
def do_start(helo_domain, user, secret, authtype)
私がいろいろとやったことは次のとおり
エラーだらけで、ひとつづつ直していった!
が結局のところ、上のタイムアウトとか言うエラーで行き詰った・・・
一体、何が悪いのでしょうか・・・とほほ
###1.userのマイグレーションファイルというのでしょうか?そいつの#をどけました。
## Confirmable t.string :confirmation_token t.datetime :confirmed_at t.datetime :confirmation_sent_at t.string :unconfirmed_email # Only if using reconfirmable add_index :users, :confirmation_token, unique: true
###2.production.rb に次を入れました
config.action_mailer.default_url_options = { host: '〇〇c9users.io' }
###3.confirmation_instructions.html.erb のパスをnew_user_confirmation_pathに修正しました
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %> <%= link_to t('.didn_t_receive_confirmation_instructions', :default => "Didn't receive confirmation instructions?"), new_user_confirmation_path(resource_name) %><br /> <% end -%>
###4.confirmation_instructions.html.erb の『confirmation_url()』を『user_confirmation_url()』に修正
<p><%= link_to t('.action', :default => "Confirm my account"), user_confirmation_url(@resource, :confirmation_token => @token, locale: I18n.locale) %></p>
###5.development.rb に次を書き加えました
config.action_mailer.raise_delivery_errors = true config.action_mailer.perform_deliveries = true host = '〇〇c9users.io' config.action_mailer.default_url_options = { host: host } config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { :address => 'smtp.gmail.com', :port => '2525', :authentication => :plain, :user_name => '〇〇〇@gmail.com', :password => '△△', :domain => 'smtp.gmail.com', :enable_starttls_auto => true }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/24 03:44