やっとローカルでコンタクトフォームが完成!
うまく動いた!
ということでherokuにデプロイしよう、、、!と思ったら
送信ボタンを押すとエラーが出ました。
その解決方法です。
production.rbに記入
今まで、メール送信をdevelopment.rbに書いてました。つまり開発環境ですね。
production.rbに書く必要がありました。
ただし、herokuのアプリにクレジットカードの登録が必要です。
本番環境に書くコードは
```
Rails.application.configure do . . . config.action_mailer.raise_delivery_errors = true config.action_mailer.delivery_method = :smtp host = '<your heroku app>.herokuapp.com' config.action_mailer.default_url_options = { host: host } ActionMailer::Base.smtp_settings = { :address => 'smtp.sendgrid.net', :port => '587', :authentication => :plain, :user_name => ENV['SENDGRID_USERNAME'], :password => ENV['SENDGRID_PASSWORD'], :domain => 'heroku.com', :enable_starttls_auto => true } . . . end
ところでrailsチュートリアルではgmail設定ではなくてsendgridというやつになってますね。そこをメンターに指摘されて、gmailに変更することにしました。
そして、思い出しました、環境変数の設定というやつをしなくてはいけないんですよね。
:user_name => ENV['GMAIL_USERNAME'],
:password => ENV['GMAIL_PASSWORD'],
こういうやつ。
これの設定を変更してからまたherokuにデプロイをします。
gemもいれてなかった。。
gemを入れ直して、もう一度チャレンジします。