【问题标题】:Error Connection Refused: MailCatcher in Docker Rails错误连接被拒绝:Docker Rails 中的 MailCatcher
【发布时间】:2020-05-06 08:08:00
【问题描述】:

我在 Docker 中运行 Rails 应用程序,我想集成 mailcatcher 进行开发。

docker-compose.yml

version: '3'
services:
 db:
  image: postgres:alpine
  restart: always
  volumes:
   - postgres-data:/var/lib/postgresql/data
  ports:
    - "9000:5432"

 app:
  build: 
    context: .
    dockerfile: ./docker/app/DockerFile
  restart: always
  command: bash -c "rm -f tmp/pids/server.pid && rails s -p 3000 -b '0.0.0.0'"
  volumes:
   - .:/vsapp-cms-backend
   - bundle_path:/bundle
  environment: 
    - BUNDLE_PATH=/bundle/vendor
  ports:
    - "3002:3000"
  depends_on:
    - db

 mailcatcher:
  image: schickling/mailcatcher
  ports:
    - "1080:1080"
    - "1025:1025"

volumes:
  bundle_path:
  postgres-data:

development.rb

config.action_mailer.delivery_method = :smtp

config.action_mailer.smtp_settings = { 
    address: '127.0.0.1',
    port: 1025 
}

我可以看到 mailcatcher 也在 http://localhost:1080 上运行 但是当我运行UserMailer.send_invite(user).deliver_now!

我明白了

Errno::ECONNREFUSED: Connection refused - connect(2) for "127.0.0.1" port 1025

【问题讨论】:

    标签: ruby-on-rails docker mailcatcher


    【解决方案1】:

    我通过将地址从 development.rb 更改为 mailcatcher

    成功地发送了它
    config.action_mailer.delivery_method = :smtp
    
    config.action_mailer.smtp_settings = { 
        address: 'mailcatcher',
        port: 1025 
    }
    

    【讨论】:

      猜你喜欢
      • 2021-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 1970-01-01
      • 2017-10-31
      • 2015-12-13
      • 2016-02-27
      相关资源
      最近更新 更多