maildev(SMTP mock server)를 사용하여 하이퍼메일 개발

3502 단어 Node.jsmaildev
메일을 개발하면 곤란하겠죠.
실제로 테스트 메일을 보내면 귀찮을 수도 있고, 목표를 모두 자신에게 쓰면 메일이 어디에 있는지 알 수 없고, 모르는 블랙홀을 원할 수도 있다.
과거에도 mocksmtpd를 사용한 경우는 있었지만, 보이지 않는 경우UTF-8나 설정이 번거로운 경우도 있었다.
그리고 이렇게 하면 아마 노드일 거예요.제이스에 뭔가 있을 것 같아서 찾았어요. 찾았어요.
일본에서는 소개할 사람이 별로 없어서 보물을 발견한 기분이 들어서 소개해 드리려고 합니다.

  • http://djfarrelly.github.io/MailDev/
  • GitHub: https://github.com/djfarrelly/MailDev
  • npm: https://www.npmjs.com/package/maildev
  • 어떤 앱을 만들어 주시겠어요?

  • port listen을 지정하고 메일을 모두 흡수
  • 웹 인터페이스를 준비하여 이 화면에서 메일을 방문할 수 있음
  • 네트워킹 인터페이스의 기능이 상당히 충실합니다.
  • Text/HTML 전환 또는
  • ViewPort 전환
  • 소스 파일 또는 제목 보기
  • 당연히 첨부파일을 볼 수 있습니다
  • .eml도 형식으로 다운로드 가능
  • 필요한 경우 외부 SMTP 서버에서 Relay
  • 설치 및 시작

    $ npm install -g maildev
    
    기본적으로 설정할 필요가 없습니다. 이 동작만 있습니다.
    그냥 천천히 메일을 보내는 거예요.
    $ maildev
    Temporary directory created at /tmp/maildev/6791
    MailDev app running at 0.0.0.0:1080
    MailDev SMTP Server running at 0.0.0.0:1025
    
    기본적으로 SMTP는 1025, 웹은 1080에서 대기 중이기 때문에 변경하고 싶을 때-s-w 변경을 선택합니다.
    웹 화면(port 1080)에 액세스하면 이런 느낌.

    SMTP 얘기 좀 해주세요.


    어쨌든 텍스트 프로토콜로 먼저 얘기를 해볼게요.
    % telnet localhost 1025
    Trying ::1...
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 aoi ESMTP node.js simplesmtp
    HELO stkr.jp
    250 aoi at your service, [127.0.0.1]
    MAIL FROM:<[email protected]>
    250 2.1.0 Ok
    RCPT TO:<[email protected]>
    250 2.1.0 Ok
    DATA
    354 End data with <CR><LF>.<CR><LF>
    Subject: Hello Sotaro!?
    
    Hi, sotaro
    
    This is a test mail.
    Can you see me?
    
    .
    250 2.0.0 Ok: queued as ABC
    
    그러면

    메일을 보내고 있습니다.열면

    이럴 때 편할 것 같아요.

  • 개발 환경에서 실제로 메일을 받기 싫은 경우
  • 대량의 메일을 보내는 테스트를 하고 싶을 때(2만 통을 보냈지만 메일로 얻었다.)
  • 기타...
  • 실제로 우편물을 받은 쪽의 우편물의 외관을 확인하고 싶습니다.


    그리고 이걸 대량으로 보내고 개발할 때 사용하는게 편하다는 건 알지만 실제로 그 메일은 Gmail에서 어떻게 보고, Outlook에서 어떻게 보고, 역시 실제로 보내지 않으면 안 보이고, 이럴 때
    $ maildev --outgoing-host smtp.gmail.com --outgoing-secure --outgoing-user '[email protected]' --outgoing-pass '<pass>'
    
    를 시작하면 Relay 버튼을 누르기만 하면 됩니다.

    그리고 Gmail에 같은 메일을 보냅니다.BENRI!

    maildev로 할 수 없는 일

  • 실제 SMTP 서버에 대한 동작 확인(또는 결합 테스트임)
  • ISO-2022-JP 메일(nodemailer는 지원되지 않으며, 더욱이nodemailer가 의존하는liblime가 의존하는iconv-lite는 지원하지 않는다)
  • ... 에 의하여


    Enjoy it!

    좋은 웹페이지 즐겨찾기