MailCatcher로 메일 송수신을 테스트합시다.

문의 양식이나 EC 주문 완료, 썬크스 메일, 메일 매거진 기능 등, 메일의 송신 기능을 테스트하고 싶은 경우에 편리한 툴을 소개합니다.

메일 전송 관련 기능을 개발할 때 대량으로 메일을 보내 메일 서버에 화나거나 이동통신사의 도메인으로 보내는 등 일반 메일 서버에서는 테스트가 어려운 경우가 많습니다.

MailCatcher라는 도구는
  • 테스트용 SMTP 서버로 사용 가능
  • 외부로 메일을 유출하지 않음
  • MailCatcher SMTP로 보낸 메일을 수신 확인 가능

  • 라는 편리한 기능을 가지고 있습니다.

    설치 방법


  • 전제로 Ruby1.9.3 이상이 설치되어 있어야 합니다
  • Windows에서도 작동합니다.
  • ### インストール
    gem install mailcatcher
    
    ### 起動
    mailcatcher
    

    docker를 사용하는 경우 다음 명령을 사용하는 것이 좋습니다.
    docker run -d -p 1080:1080 -p 1025:1025 \
      --name mailcatcher schickling/mailcatcher
    

    설정 방법



    SMTP 서버의 포트 번호에 1025만 지정하면 됩니다.

    EC-CUBE3 시스템을 사용하는 경우 app/config/eccube/mail.yml를 다음과 같이 설정하십시오.
    
    mail:
        transport: smtp
        host: localhost
        port: '1025'
        username: ''
        password: ''
        encryption: null
        auth_mode: null
        charset_iso_2022_jp: false
    

    EC-CUBE2 계를 사용하시는 분은 관리 화면 → 파라미터 설정 또는 data/config/config.php의 다음 파라미터를 설정하십시오.

  • MAIL_BACKEND smtp

  • SMTP_PORT 1025

  • SMTP_HOST localhost

  • 메일 확인 방법



    보낸 메일을 확인하려면 브라우저에서 http://localhost:1080으로 이동합니다.



    이를 사용하면 이동통신사의 RFC 위반 이메일 주소도 테스트할 수 있습니다.
    또, 메일이 밖으로 새는 일이 없기 때문에, 고객에게 테스트 메일을 송신해 버리는, 등의 트러블도 방지할 수 있습니다.

    기타



    웹 API를 통해서도 메일 체크 가능하므로, EC-CUBE3에서는 이 MailCatcher를 유닛 테스트로 활용하고 있습니다.

    관심이 있으시면 EccubeTestCase 클래스을 참조하십시오.

    좋은 웹페이지 즐겨찾기