0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Railsでdotenv-railsを中途半端に入れたらちゃんとenv読み込んでくれなかった

0
Posted at

はじめに

ホームページを制作している途中で、問い合わせ機能を作りたくなった。
ActionMailerを使ってsmtpを使ってGmailに送信する時に起きたエラーを解消した話。

結論として、
・メールサーバの設定等はデフォルトのconfig/environments
・コード内で使用する環境変数はdotenv-rails
で使い分けることにしました(そもそもそういう使い方をすべきなのか...?)

環境

Ruby 2.7.0
Rails 5.1.6

やったこと

①[Rails5で確認画面経由のメッセージ送信フォームを実装する] を参考にActionMailerを導入
[Rails5で確認画面経由のメッセージ送信フォームを実装する]:https://remonote.jp/rails-confirm-form

②環境変数を追加するために以下を追加

config/environments/development.rb
DEFAULT_EMAIL = '******@gmail.com'
DEFAULT_EMAIL_PASSWORD = '****************'

③ここで「ちゃんと環境変数を切り分けたいな」と思い[dotenv-railsを導入]してconfig/environmentsを削除
[dotenv-railsを導入]:https://qiita.com/ryosuketter/items/ceb592dc6b23a20e51b5

④そしたらこのエラー。
 SMTP From address may not be blank: nil
 メールサーバー設定の記述はしていたのでenvをちゃんと読み込めていないんだなと。

⑤あとは結論の通り。
 デフォルトはdevelop.rbで、追加の環境変数は.envで解決。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?