質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Sendmail

Sendmailは、インターネットで電子メールを送受信するサーバソフトウェア(MTA)です。ユーザーが送信したメールを受け、他メールサーバへ引き渡しバケツリレー式に配送したり、届いたメールをユーザーが受け取るまでの間保管するといった働きをします。

Devise

Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

2272閲覧

プロダクション環境でパスワードリセットのメールがうまく送れない

YasunakaCho

総合スコア12

Sendmail

Sendmailは、インターネットで電子メールを送受信するサーバソフトウェア(MTA)です。ユーザーが送信したメールを受け、他メールサーバへ引き渡しバケツリレー式に配送したり、届いたメールをユーザーが受け取るまでの間保管するといった働きをします。

Devise

Deviseとは、Ruby-on-Railsの認証機能を追加するプラグインです。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2016/11/06 14:30

開発環境ではパスワードリセットのメールはうまく送ることができるのですが、
プロダクション環境では"ActionView::Template::Error"となってしまいます。

そこでこのキーワードでググって、この記事を見つけて試したのですが、
僕のこのケースではなぜかうまくいきませんでした。
http://kaorumori.hatenadiary.com/entry/20120720/1343659979

ちなみにメールを送信する機能はDeviseというgemとSendGridで構築しています。
誰かこの解決方法をご存知の方がいたら、教えて頂けたらありがたいです。

D, [2016-11-06T14:19:17.409345 #10405] DEBUG -- : [48ed2581-a62f-4828-843a-0e194fe34135] User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`email` = 'user@me.com' ORDER BY `users`.`id` ASC LIMIT 1 D, [2016-11-06T14:19:17.410059 #10405] DEBUG -- : [48ed2581-a62f-4828-843a-0e194fe34135] User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`reset_password_token` = '99833bbf066526be3564e2af08d201fa4b2fe8481612c9ef7e5819044495058b' ORDER BY `users`.`id` ASC LIMIT 1 D, [2016-11-06T14:19:17.410344 #10405] DEBUG -- : [48ed2581-a62f-4828-843a-0e194fe34135] (0.1ms) BEGIN D, [2016-11-06T14:19:17.411633 #10405] DEBUG -- : [48ed2581-a62f-4828-843a-0e194fe34135] SQL (0.2ms) UPDATE `users` SET `reset_password_token` = '99833bbf066526be3564e2af08d201fa4b2fe8481612c9ef7e5819044495058b', `reset_password_sent_at` = '2016-11-06 14:19:17', `updated_at` = '2016-11-06 14:19:17' WHERE `users`.`id` = 1 D, [2016-11-06T14:19:17.414410 #10405] DEBUG -- : [48ed2581-a62f-4828-843a-0e194fe34135] (2.3ms) COMMIT I, [2016-11-06T14:19:17.415445 #10405] INFO -- : [48ed2581-a62f-4828-843a-0e194fe34135] Rendering devise/mailer/reset_password_instructions.html.erb I, [2016-11-06T14:19:17.416248 #10405] INFO -- : [48ed2581-a62f-4828-843a-0e194fe34135] Rendered devise/mailer/reset_password_instructions.html.erb (0.7ms) D, [2016-11-06T14:19:17.416333 #10405] DEBUG -- : [48ed2581-a62f-4828-843a-0e194fe34135] Devise::Mailer#reset_password_instructions: processed outbound mail in 1.6ms I, [2016-11-06T14:19:17.416464 #10405] INFO -- : [48ed2581-a62f-4828-843a-0e194fe34135] Completed 500 Internal Server Error in 9ms (ActiveRecord: 3.0ms) F, [2016-11-06T14:19:17.417370 #10405] FATAL -- : [48ed2581-a62f-4828-843a-0e194fe34135] F, [2016-11-06T14:19:17.417409 #10405] FATAL -- : [48ed2581-a62f-4828-843a-0e194fe34135] ActionView::Template::Error (Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true): F, [2016-11-06T14:19:17.417510 #10405] FATAL -- : [48ed2581-a62f-4828-843a-0e194fe34135] 2: F, [2016-11-06T14:19:17.417535 #10405] FATAL -- : [48ed2581-a62f-4828-843a-0e194fe34135] 3: <p>Someone has requested a link to change your password. You can do this through the link below.</p> F, [2016-11-06T14:19:17.417553 #10405] FATAL -- : [48ed2581-a62f-4828-843a-0e194fe34135] 4: F, [2016-11-06T14:19:17.417567 #10405] FATAL -- : [48ed2581-a62f-4828-843a-0e194fe34135] 5: <p><%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %></p> F, [2016-11-06T14:19:17.417583 #10405] FATAL -- : [48ed2581-a62f-4828-843a-0e194fe34135] 6: F, [2016-11-06T14:19:17.417598 #10405] FATAL -- : [48ed2581-a62f-4828-843a-0e194fe34135] 7: <p>If you didn't request this, please ignore this email.</p> F, [2016-11-06T14:19:17.417613 #10405] FATAL -- : [48ed2581-a62f-4828-843a-0e194fe34135] 8: <p>Your password won't change until you access the link above and create a new one.</p> F, [2016-11-06T14:19:17.417627 #10405] FATAL -- : [48ed2581-a62f-4828-843a-0e194fe34135] F, [2016-11-06T14:19:17.417642 #10405] FATAL -- : [48ed2581-a62f-4828-843a-0e194fe34135] app/views/devise/mailer/reset_password_instructions.html.erb:5:in `_app_views_devise_mailer_reset_password_instructions_html_erb__1530506015281427590_46960320833400'

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/11/06 15:00

:host が設定されてないと出ているように見えますが
guest

回答1

0

’FATAL’(致命的エラー)になる直前のメッセージを確認して下さい。(xa051さんも指摘)

’ ActionView::Template::Error (Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true):’

これを直さないといつまでたっても先に進めません。

投稿2016/11/06 15:32

MasahikoHirata

総合スコア3747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YasunakaCho

2016/11/07 00:10 編集

ご回答ありがとうございます! config/environments/production.rbに(念のためにtest.rb, development.rbにも) ``` config.action_mailer.default_url_options = { :host => 'domain.com' } ``` の1文を追加して、nginxを再起動したのですがやはり同じエラーログが出てきます。 この解決策についてご存知でしたら、教えて頂けたら助かります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問