Làm cách nào để thiết lập máy chủ SMTP giả để bắt tất cả thư?


50

Tôi đang tìm kiếm một dịch vụ smtp về cơ bản tuân theo RFC, ngoại trừ việc gửi thư, nó chỉ đơn giản là đăng nhập vào một tệp

[date] sent mail to <address>

Hay bất cứ cái gì. Tôi có thể bash điều này cùng với tối thiểu chức năng tôi cần trong python trong khoảng nửa giờ tôi nghĩ nhưng nếu có một dự án hiện có hoạt động tốt hơn tôi sẽ sử dụng nó.

Lý do cần nó là gỡ lỗi một ứng dụng liên tục gửi 7 * lượng thư mà nó phải gửi.

EDIT: Và đã được hỏi: https://stackoverflow.com/questions/1006650/dummy-smtp-server-for-testing-apps-that-send-email


Vâng, câu hỏi này đã được trả lời trên stackoverflow, nhưng tôi không thấy câu trả lời dựa trên con trăn ở đó.
BitwiseMan

Điều này cũng được trả lời tại stackoverflow: stackoverflow.com/questions/48653699/ trên
realbart 28/03/18

Câu trả lời:


58

Nếu bạn có python nằm xung quanh điều này sẽ viết cuộc hội thoại SMTP vào thiết bị xuất chuẩn.

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

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


Tôi lấy lại, nó hỗ trợ email HTML.
HTTP500

2
vẫn là cách tốt nhất để gỡ lỗi!
MarZab

Không hỗ trợ cho starttls :(
Att Righ

1
@AttRigh smtplib đã triển khai TLS nhưng việc sử dụng sẽ không đơn giản như thế này. Gửi câu hỏi; có lẽ ai đó đã có một kịch bản rồi?
John Mee

11

Bạn nên xem smtp-sinkđó là một phần của Postfix. Bạn không phải chạy Postfix để làm cho nó hoạt động. Chỉ cần cài đặt nó để có thể thực thi. Mọi thứ bạn cần đều có thể được cấu hình thông qua các tham số dòng lệnh:

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


Cảm ơn mailq. Đây là ít nhiều chính xác những gì tôi đã sau!
richo

8

Ngoài ra còn có một viên đá quý ruby ​​gọi là mailcatcher .

Bạn có thể đọc email trực tiếp trong trình duyệt của mình thông qua giao diện web tích hợp, có một ảnh chụp màn hình từ trang chủ của họ bên dưới.

Giao diện người gửi thư


1
Chúng tôi hiện đang sử dụng mailcatcher, bị treo quá nhiều.
Jacob Evans

6

Chúng tôi sử dụng dịch vụ web http://mailtrap.io trong môi trường phát triển và dàn dựng. Nó độc lập với nền tảng và không yêu cầu bạn phải chạy SMTP của riêng mình.

Nó cung cấp:

  • Tất cả các email ở một nơi
  • Truy cập được chia sẻ cho nhóm dev vào hộp thư đến
  • Công cụ dành cho nhà phát triển để phân tích email
  • Cấu hình linh hoạt

Điều này thật tuyệt vời và mạnh mẽ hơn nhiều so với những gì tôi đang làm! Cảm ơn.
richo

Tôi thích rằng họ cung cấp một kế hoạch miễn phí hào phóng (bây giờ).
David

3

smtp4dev đã làm việc tốt cho tôi. (Chỉ dành cho Windows)


Tôi chỉ cần cài đặt và sử dụng công cụ nhỏ tuyệt vời này. Hoàn hảo cho nhu cầu của tôi (không có java và giao diện người dùng đẹp)
Nick.McDilyn

2

http://quintanasoft.com/dumbster/

Điều này có vẻ như nó có thể sẽ thực hiện công việc, cho bất cứ ai khác vấp phải điều này.


Quá tệ, nó đòi hỏi một javavm. Thêm vào đó ai đó đã rẽ nhánh và làm việc với nó gần đây hơn ... github.com/rjo1970/dumbster
John Mee

Chúc mừng John. Dựa trên Java là đủ để đưa tôi ra cuối cùng, tôi chỉ cần viết một cái gì đó cho mình.
richo 17/03/2016

2

Disclaimer: Đây là một câu trả lời muộn, nhưng tôi thực sự tin rằng nó sẽ giúp người xem trong tương lai. Cũng lưu ý rằng tôi đã làm việc trên sản phẩm này.

Chúng tôi đã xây dựng Mailizard để giải quyết vấn đề chính xác này. Chúng tôi đã xây dựng nó để thêm địa chỉ email kiểm tra cũng như SMTP.



1

Tôi chỉ cần rẽ nhánh về bất kỳ dịch vụ smtp nào sau đó gửi kết quả đến một thùng bit!


Tôi đang nói về email hàng loạt, và với dữ liệu khách hàng trực tiếp liên quan. Tôi cần phải tích cực rằng tôi sẽ không tràn ngập các intertrons với thư.
richo

Tôi cố gắng mở rộng lớp smtpd.SMTPServer của python, tôi sẽ phát hành dự án công khai trong một tuần hoặc khi tôi hài lòng với nó (Tôi sẽ gói nó với bộ kiểm tra httpd mà tôi đã viết một lúc trước). Tôi đã đặt tên dự kiến ​​cho bộ sdb.
richo

@Richo: có rất nhiều cách để ngăn chặn máy chủ SMTP gửi email - hầu hết cho phép bạn tắt các kết nối gửi đi hoặc định tuyến lại tất cả các tin nhắn, hoặc bạn có thể chặn các kết nối gửi đến cổng 25 .... không ai có thể viết một máy chủ giả tầm thường của nó để cấu hình một người thực sự để hành xử theo cách này.
symcbean

@symcbean: đó là tất cả các điểm hợp lệ. Cá nhân tôi thấy việc dừng dịch vụ thư thông thường của mình dễ dàng hơn, bắt đầu dịch vụ sửa lỗi, thực hiện gỡ lỗi và sau đó kích hoạt lại môi trường trực tiếp. Loại bỏ như bỏ tất cả lưu lượng truy cập cổng 25 sau đó ngăn chặn mọi thứ khác gửi thư. Cảm ơn vì sự giúp đỡ,
richo

không có gì trong số này có ý nghĩa, tất cả các cổng smtp sẽ cung cấp cho bạn chức năng chính xác này mà không mất bất kỳ email trực tiếp nào!
tony roth
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.