Q&A
実現したいこと
ockerでrails7の環境構築をし、アプリを作成しています。
sorceryのreset_password、letter_opener_web、ActionMailerを使用して、パスワードリセット機能を実装したいです。
letter_opener_web画面を表示することはできたのですが、メールが受信されないです。
調べても原因がわからなかったため、ご教授いただきたいです。
発生している問題・エラーメッセージ
ブラウザ上にもdockerのログにもエラー文はないと思います。
該当のソースコード
・Gemfile
group :development do gem "web-console" gem 'letter_opener_web' gem 'config' end
Mailerに関するコード
・config/initializers/sorcery.rb
Rails.application.config.sorcery.submodules = [:reset_password] Rails.application.config.sorcery.configure do |config| config.user_config do |user| user.stretches = 1 if Rails.env.test? user.reset_password_mailer = UserMailer end config.user_class = "User" end
・app/mailers/user_mailer.rb
class UserMailer < ApplicationMailer default from: "from@example.com" def reset_password_email(user) @user = User.find(user.id) @url = edit_password_reset_url(@user.reset_password_token) mail(to: user.email,subject: "パスワードリセット") end end
letter_opener_webに関するコード
・routes.rb
Rails.application.routes.draw do root "tops#index" resources :users get 'login', to: 'sessions#new' post 'login', to: 'sessions#create' delete 'logout', to: 'sessions#destroy' resources :password_resets, only: %i[new create edit update] mount LetterOpenerWeb::Engine, at: '/letter_opener' if Rails.env.development? end
・config/environments/development.rb
require "active_support/core_ext/integer/time" Rails.application.configure do # Settings specified here will take precedence over those in config/application.rb. 省略 config.action_mailer.delivery_method = :letter_opener_web config.action_mailer.default_url_options = { host: 'localhost:3000' } config.action_mailer.perform_deliveries = true end
そのほかに載せる必要があるコードがあれば教えていただきたいです。
試したこと
調べても原因がわからず、タイポがないか、defaultでメールアドレスが設定されているか確認したぐらいです。
すみません。
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。