前提・実現したいこと
Rails tutorialの11章後半のアカウントの有効化で、ユーザーがsignupしたらユーザーを登録する前にユーザーにメールを送り,ユーザーがそのリンクをクリックしたらユーザー登録できるみたいな、私たちが普段よく使うような機能を実装してるのですが、以下のようなエラーが出ました
つまりMailerを使ってる時にエラーが出ました
発生している問題・エラーメッセージ
あたらにユーザー登録したら
ruby
1Errno::ECONNREFUSED in UsersController#create 2Connection refused - connect(2) for "localhost" port 25
ruby
1 UserMailer.account_activation(@user).deliver_now 2users_contorollerのここがハイライトされてました
試したこと
エラー文で検索したところ、development.rbに関する記事が多く出てきたので
設定に問題があるのではと思い
config/development.rb
1Rails.application.configure do 2 # Settings specified here will take precedence over those in config/application.rb. 3 4 # In the development environment your application's code is reloaded on 5 # every request. This slows down response time but is perfect for development 6 # since you don't have to restart the web server when you make code changes. 7 config.cache_classes = false 8 9 # Do not eager load code on boot. 10 config.eager_load = false 11 12 # Show full error reports. 13 config.consider_all_requests_local = true 14 15 # Enable/disable caching. By default caching is disabled. 16 # Run rails dev:cache to toggle caching. 17 if Rails.root.join('tmp', 'caching-dev.txt').exist? 18 config.action_controller.perform_caching = true 19 config.action_controller.enable_fragment_cache_logging = true 20 21 config.cache_store = :memory_store 22 config.public_file_server.headers = { 23 'Cache-Control' => "public, max-age=#{2.days.to_i}" 24 } 25 else 26 config.action_controller.perform_caching = false 27 28 config.cache_store = :null_store 29 end 30 31 # Store uploaded files on the local file system (see config/storage.yml for options). 32 config.active_storage.service = :local 33 34 # Don't care if the mailer can't send. 35 36 # config.action_mailer.raise_delivery_errors = true 37 # コメントアウトすることでdelelop環境からもメールを送信する設定に 38 39 host = 'b9c7c936bba34db686385a83af09e0a0.vfs.cloud9.ap-northeast-1.amazonaws.com' # ここをコピペすると失敗します。自分の環境のホストに変えてください。 40 # クラウドIDEの場合は以下をお使いください 41 config.action_mailer.default_url_options = { host: host, protocol: 'https' } 42 # localhostで開発している場合は以下をお使いください 43 # config.action_mailer.default_url_options = { host: host, protocol: 'http' } 44 45 config.action_mailer.perform_caching = false 46 47 # Print deprecation notices to the Rails logger. 48 config.active_support.deprecation = :log 49 50 # Raise an error on page load if there are pending migrations. 51 config.active_record.migration_error = :page_load 52 53 # Highlight code that triggered database queries in logs. 54 config.active_record.verbose_query_logs = true 55 56 # Debug mode disables concatenation and preprocessing of assets. 57 # This option may cause significant delays in view rendering with a large 58 # number of complex assets. 59 config.assets.debug = true 60 61 # Suppress logger output for asset requests. 62 config.assets.quiet = true 63 64 # Raises error for missing translations. 65 # config.action_view.raise_on_missing_translations = true 66 67 # Use an evented file watcher to asynchronously detect changes in source code, 68 # routes, locales, etc. This feature depends on the listen gem. 69 config.file_watcher = ActiveSupport::EventedFileUpdateChecker 70 config.hosts.clear 71 72 73end 74
config.action_mailer.raise_delivery_errors = true
コメントアウトすることでdelelop環境からもメールを送信する設定に
の部分で、コメントアウトしたら一回うまく行ったのですがまた何故か上手くいきませんでした
またCloud9のideだと思うので、 host = 'b9c7c936bba34db686385a83af09e0a0.vfs.cloud9.ap-northeast-1.amazonaws.com'
このような記述にしたのですが、何故かlocalhostに反応してるのでますますよくわかりません。
補足情報(FW/ツールのバージョンなど)
自分のレベルはTechcampのカリキュラムを終えた程度で、学習歴三ヶ月の初心者です
Clound9 ubuntu
ruby 2.6.3
rails 6.0.0
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。