모든 메일을 받도록 가짜 SMTP 서버를 설정하는 방법은 무엇입니까?


50

RFC를 준수하는 smtp 서비스를 찾고 있습니다. 메일을 단순히 파일로 보내는 것이 아니라

[date] sent mail to <address>

또는 무엇이든. 나는 약 30 분 안에 파이썬에서 필요한 최소한의 기능으로 이것을 묶을 수 있지만 더 잘 작동하는 기존 프로젝트가 있다면 오히려 그것을 사용할 것입니다.

필요한 이유는 메일의 양을 7 *로 계속 보내는 앱을 디버깅하기 때문입니다.

편집 : 이미 요청 : https://stackoverflow.com/questions/1006650/dummy-smtp-server-for-testing-apps-that-send-email


예,이 질문은 stackoverflow에서 답변되었지만 파이썬 기반 답변은 보지 못했습니다.
— BitwiseMan

이것은 stackoverflow에서도 답변됩니다 : stackoverflow.com/questions/48653699/…
— realbart

답변:


58

파이썬이 주위에 있으면 SMTP 대화를 stdout에 씁니다.

sudo python -m smtpd -n -c DebuggingServer localhost:25

http://docs.python.org/library/smtpd.html#debuggingserver-objects


다시 가져 와서 HTML 이메일을 지원합니다.
— HTTP500

2
여전히 디버깅하는 가장 좋은 방법입니다!
— MarZab

에 대한 지원하지 않습니다 STARTTLS :(
— AT & T는 맞

1
@AttRigh smtplib에는 TLS가 구현되어 있지만 이것을 사용하는 것만 큼 간단하지는 않습니다. 질문을 게시; 누군가가 이미 스크립트를 가지고 있습니까?
— John Mee

11

smtp-sinkPostfix의 일부를 살펴 봐야 합니다. Postfix를 실행할 필요가 없습니다. 실행 파일을 갖기 위해 설치하십시오. 명령 행 매개 변수를 통해 필요한 모든 것을 구성 할 수 있습니다.

http://www.postfix.org/smtp-sink.1.html


감사합니다 mailq. 이것은 내가 찾은 것과 거의 동일합니다!
— richo

8

mailcatcher 라는 루비 보석도 있습니다 .

통합 웹 인터페이스를 통해 브라우저에서 직접 이메일을 읽을 수 있습니다. 아래 홈페이지에서 스크린 샷이 있습니다.

메일 캐처 인터페이스


1
현재 메일 캐처를 사용하고 있으며 너무 많이 충돌합니다.
— Jacob Evans

6

개발 및 준비 환경에서 http://mailtrap.io 웹 서비스를 사용 합니다. 플랫폼 독립적이며 자체 SMTP를 실행할 필요가 없습니다.

다음을 제공합니다.

  • 한 곳에서 모든 이메일
  • 개발자 팀의받은 편지함에 대한 공유 액세스
  • 이메일을 분석하는 개발자 도구
  • 유연한 구성

이것은 내가하고있는 것보다 크고 강력합니다! 감사.
— richo

나는 그들이 관대 한 무료 플랜을 제공하는 것을 좋아합니다 (현재).
— David

3

smtp4dev 가 저에게 효과적이었습니다. (Windows 만 해당)


방금이 멋진 작은 도구를 설치하고 사용했습니다. 내 요구에 완벽 함 (Java 및 멋진 UI 없음)
— Nick.McDermaid


2

면책 조항 : 이것은 늦은 답변이지만, 앞으로 시청자에게 도움이 될 것이라고 믿습니다. 또한이 제품에서 일했음을 유의하십시오.

우리는 이 정확한 문제를 해결하기 위해 Mailosaur 를 만들었습니다 . 우리는 이후 SMTP뿐만 아니라 테스트 이메일 주소를 추가하기 위해 구축했습니다.



1

방금 smtp 서비스를 포크 한 다음 결과를 비트 버킷에 보냅니다!


나는 대량 이메일에 대해 이야기하고 있으며 실시간 고객 데이터와 관련이 있습니다. 나는 인터 트론들에게 메일을 넘치지 않을 것이라고 긍정적으로 생각해야한다.
— richo December

나는 파이썬의 smtpd.SMTPServer 클래스를 확장하여 일주일 정도 후에 프로젝트를 공개적으로 공개 할 것입니다. (행복한 httpd 테스트 스위트와 번들로 묶고 있습니다). 잠정적으로 스위트를 sdb라고 명명했습니다.
— richo December

@Richo : SMTP 서버가 이메일을 보내지 못하게하는 방법은 여러 가지가 있습니다. 대부분 발신 연결을 끄거나 모든 메시지를 다시 라우팅하거나 포트 25에 대한 발신 연결을 차단할 수 있습니다. 이런 식으로 작동하도록 실제 구성하는 것이 간단합니다.
— symcbean

@symcbean : 이것들은 모두 유효한 포인트입니다. 개인적으로 평소 메일 서비스를 중지하고 디버깅 서비스를 시작하고 디버깅을 수행 한 다음 라이브 환경을 다시 시작하는 것이 더 쉽다는 것을 알게되었습니다. 모든 포트 25 트래픽을 덤핑하는 것과 같은 경고는 다른 어떤 것도 메일을 보내지 못하게합니다. 도움을 주셔서 감사합니다
— richo

이 중 어느 것도 의미가 없으며 모든 smtp 게이트웨이는 아웃 바운드 라이브 이메일을 잃지 않고이 정확한 기능을 제공합니다!
— tony roth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.