LoginSignup
7
7

More than 5 years have passed since last update.

cloud9でrailsのgemであるdeviseを使用し、ユーザログイン機能を開発した末路

Last updated at Posted at 2016-07-18

ユーザログイン時のメールが届かない!

急な見出しだが、この問題に直面して随分と苦戦した。
頑張った挙句、凄惨な末路を辿ったので念のため備忘録としてのメモ。

とりあえずデバイスをgemでインストールをし、開発時のメール送信先の設定を行う。
今回はgmailを使用した。

config/environments/development.rb

config.action_mailer.default_url_options = {  host: 'cloud9のドメイン(○○○.c9users.io)', port: 8080(使用するポート番号を入力) }
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  :address => "smtp.gmail.com",
  :port => 587,
  :user_name => "自分のgmailアドレス",
  :password => "gmailのアプリケーション固有のパスワード",
  :authentication => :plain,
  :enable_starttls_auto => true
}

上記のアプリケーション固有のパスワードとは、gmailのログインパスでもなければcloud9のログインパスでもありません。
https://support.google.com/mail/answer/185833?hl=ja
上記URLでログイン後、アプリケーション(この場合cloud9?)から使用する際のパスワードをいちいち生成して、それを張り付けるという意味です。googleのセキュリティカオス。

config/initializers/devise.rb

config.mailer_sender = '自分のgmailアドレス'

なぜかこのファイル内にconfig.mailer_senderが二行あったのでとりあえず二行に自分のアドレスをぶち込む。

db/seeds.rb

user = User.new :username => '名前', :email => '自分のgmailアドレス', :password => 'gmailのアプリケーション固有のパスワード', :admin => true
user.save!

最後にシードファイルでテーブルに一行のデータを流し込んで終了。

$ rake db:seed

無事データが入ったみたい。

railsアプリ起動

railsアプリ内で早速ユーザログインしてみる。
メールアドレス宛にURLを送りました的なメッセージが出たので、gmailを見に行く。

結果

メールは来ていたが、、、

利用規約違反でgmailアカウントを止められた。

なぜなんでしょう。
どなたかわかる方いましたら、コメントで教えてくださいお願いします。
変化がありましたら追記予定です。

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7