Rails 프로젝트에는 SMTP 서버가 없지만 메일 발송 기능이 정상적으로 작동하는지 확인하고 싶을 때!

SMTP 설정 작업을 확인하고 싶지만 SMTP 서버를 설치하는 것은 매우 번거롭다
그리고 개발 중인 기능일 수도 있어요. 잘못 보내면 어떡해요...
그런 너
mailcatcher 소개해드릴게요.
간단하게 설명하자면 docker에서 실행되는 SMTP 서버입니다.
하지만 실제로는 외부에 메일을 보내지 않는다.메일 클라이언트도mailcatcher를 겸비하기 때문에 브라우저에서 모든 메일을 볼 수 있습니다.
이 자체의 사용 방법에 관해서는 위 링크의 주소를 보십시오.

메일catcher 준비

docker-compose.yml에 다음 설정을 추가합니다.
1080 포트는 http용 포트입니다.
1025 포트는 SMTP 포트
  smtp:
    image: schickling/mailcatcher
    ports:
      - "1080:1080"
      - "1025:1025"
완성형여기.
실행만 남았습니다.
$ docker-compose up
이렇게 되면
http://:1080
WEB UI가 표시됩니다.

아직 0통의 메일이 있지만 SMTP를 통해 메일을 보내면 여기에 저장됩니다.

Rails에서 메일을 보내보도록 하겠습니다.


rails의 ActionMailer를 사용하고 있기 때문에 그 방면의 설명을 생략합니다.
SMTP 설정은 다음과 같습니다.
# config/environments/development.rb
# Mail ocnfig
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { :address => "<docker host ip>", :port => 1025 }
config.action_mailer.raise_delivery_errors = true
나머지는 실행하는 거야.

이렇게 확인할 수 있어요.
개발할 때 SMTP 서버가 필요하지 않고 존재하는 메일주소로 잘못 보낼 위험도 없다.

좋은 웹페이지 즐겨찾기