모든 메일을 받도록 가짜 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.