Làm cách nào để phát triển và kiểm tra một ứng dụng gửi email (mà không điền vào hộp thư của ai đó với dữ liệu kiểm tra)? [đóng cửa]


129

Tôi có rất nhiều ứng dụng gửi email. Đôi khi, đó là một hoặc hai tin nhắn cùng một lúc. Đôi khi đó là hàng ngàn tin nhắn.

Trong quá trình phát triển, tôi thường kiểm tra bằng cách thay thế địa chỉ của chính mình cho bất kỳ địa chỉ người nhận nào. Tôi chắc chắn đó là những gì mọi người khác làm, cho đến khi họ chán ngấy với nó và tìm ra giải pháp tốt hơn.

Tôi đã suy nghĩ về việc tạo ra một máy chủ SMTP giả, chỉ cần bắt các tin nhắn và kết xuất chúng trong cơ sở dữ liệu SQLLite, hoặc tệp mbox, hoặc bất cứ điều gì.

Nhưng chắc chắn một công cụ như vậy đã tồn tại? Làm thế nào để bạn kiểm tra gửi email?


42
@casperOne Tại sao lại đóng câu hỏi này ba năm rưỡi sau? Đây là một vấn đề đơn giản với một số giải pháp hữu ích. Không có bất kỳ cuộc tranh luận, bỏ phiếu hoặc thảo luận mở rộng. Nếu trang này biến mất khỏi kết quả tìm kiếm của Google, nó có làm cho internet tốt hơn không?
Patrick McElhaney

1
Đó là một câu hỏi về danh sách mua sắm / đề xuất sản phẩm (và cũng đã kết thúc chủ quan và mở: "làm thế nào để bạn kiểm tra việc gửi email"), không có câu hỏi nào phù hợp với trang web nữa.
casperOne

3
@casperOne Sau đó, viết lại câu hỏi để nó không mang tính chủ quan. Tôi đã không tìm kiếm sản phẩm tốt nhất trong danh mục X. Tôi đã hỏi liệu loại X có tồn tại không. Dù sao, bạn đã không trả lời câu hỏi của tôi. Hãy thuyết phục tôi rằng xóa trang này sẽ giúp internet tốt hơn và tôi sẽ tự xóa nó.
Patrick McElhaney

12
@casperOne Tôi bắt gặp câu hỏi này từ Google hỏi về các tùy chọn dựa trên Windows (trái ngược với các tùy chọn Linux mà tôi đã tiếp xúc trước đó). Tôi tìm thấy tất cả các liên kết hữu ích. Trang web này sẽ bị bỏ lỡ
justin.lovell

5
Vâng, tôi chỉ đang tìm kiếm một công cụ máy chủ mail windows chỉ cần lấy thư từ localhost và tôi thấy nó đơn giản và dễ dàng bởi câu hỏi này. Câu trả lời được nêu lên là tất cả mọi người đang tìm kiếm vì vậy tôi không thể hiểu tại sao bạn muốn đóng cái này vì nó làm những gì mà phần lớn mọi người mong đợi.
sveri

Câu trả lời:


84

Tôi đã đối mặt với cùng một vấn đề vài tuần trước và đã viết điều này: http://smtp4dev.codeplex.com

Máy chủ SMTP giả tương thích Windows 7 / Vista / XP / 2003/2010. Ngồi trong khay hệ thống và không gửi tin nhắn nhận được. Các tin nhắn nhận được có thể được xem nhanh, lưu và kiểm tra nguồn / cấu trúc. Hữu ích cho việc kiểm tra / gỡ lỗi phần mềm tạo email.


+1 Một lỗi nhỏ nhưng ghi đè làm những gì nó cần cho. Cảm ơn!
David

4
Đẹp khi nó hoạt động nhưng rất dễ bị sụp đổ.
olefevre

Đây trông giống như một ứng dụng tuyệt vời, thật không may, nó gặp sự cố với tôi mỗi khi nhận được thư (chạy smtp4dev trên win7, gửi từ SQL Server Database Mail Kiểm tra tập lệnh E-mail)
Jona

Chỉ cần tải xuống này để kiểm tra mã gửi email thông qua sharepoint. Tôi chưa cài đặt SMTP trên máy ảo của mình để ứng dụng này hoạt động như một cơ duyên. Thanh danh!
Ryan

2
Đối với những gì nó có giá trị, trên Windows 7 - 64 Bit, smtp4dev sẽ không hoạt động nhưng papercut.codeplex.com đã làm. Các thư đã được tạo bằng JavaMail.
Ashutosh Jindal

73

Một vài lần trước tôi đã xem qua giải pháp sau cho nền tảng .NET .

<system.net>
  <mailSettings>
    <smtp deliveryMethod="SpecifiedPickupDirectory">
      <specifiedPickupDirectory pickupDirectoryLocation="C:\TestMailMessages\" />
    </smtp>
  </mailSettings>
</system.net>

Chỉ cần đặt mã ở trên vào App.config hoặc Web.config. Khi bạn gửi tin nhắn bây giờ, nó sẽ được lưu dưới dạng một tệp trong thư mục bạn đã cung cấp dưới dạng "PickDirectoryLocation". Hoạt động như một lá bùa.


3
Tuyệt vời, không cài đặt ... hoạt động tuyệt vời cho tôi. Cảm ơn!
WildJoe

Tôi đang sử dụng SmtpClient trong một ứng dụng web .Net với một máy chủ lưu trữ smtp cụ thể được thiết lập vào thời gian biên dịch. Tôi không thấy bất kỳ thay đổi nào trong hành vi dựa trên việc thêm phần này vào cuối web.config.

4
Aha! Ném một ngoại lệ trừ khi bạn tạo thư mục trước khi ra tay. Bí quyết đẹp!

1
Thủ thuật nhỏ tuyệt vời với không cài đặt.
Mike Kruger

Chúng tôi đã gặp vấn đề tương tự khi làm việc với một ngăn xếp .NET - chúng tôi đã kết thúc việc xây dựng dịch vụ này để giải quyết vấn đề
isNaN1247

18

Hiện tại đã có phiên bản dựa trên web của Papercut.

Ngoài ra phiên bản dựa trên ứng dụng hoạt động tốt cho tôi.


14

Dumbster có thể là những gì bạn muốn sau đó. Đó là một máy chủ SMTP giả mã nguồn mở được viết bằng Java. Nó thay thế một máy chủ SMTP thực sự, vì vậy bạn có thể kiểm tra ứng dụng của mình trong một cài đặt thực tế mà không có bất kỳ mã nào bị loại bỏ. Bạn có thể đảm bảo các thông điệp phù hợp được gửi đến máy chủ SMTP mà không thực sự gửi tin nhắn.


9

Điều này tương tự như smtp4dev ngoại trừ được triển khai trong java để nó hoạt động cho các nhà phát triển không phải là windows.

http://www.aboutmyip.com/ AboutMyXApp/DevNullSmtp.jsp


trên mac, để sử dụng cổng 25, hãy chạy lệnh sau trong thiết bị đầu cuối, trong cùng một thư mục với tệp bạn tải xuống:sudo java -jar DevNullSmtp.jar
Brad park

6

Ngoài ra còn có PapercutNeptune , quá tệ, không ai trong số này có thể chạy theo cách di động.


Cuối cùng tôi đã có xung quanh để thử những thứ này. Thật không may, cả hai tiếp tục bị rơi.
Patrick McElhaney

4
Chỉ cần thử Papercut. Hoạt động tuyệt vời và có tính năng thưởng là có thể xem email ngay trong giao diện người dùng.
Jeremy Wiebe

1
Công việc cắt giấy. Quá tệ, đó chỉ là Windows. Muốn xem nền tảng chéo này.
Wim Deblauwe

6

Tôi đã sử dụng "Test Mail Server Tool" từ ToolHeap trong nhiều năm.

http://www.toolheap.com/test-mail-server-tool/

Nó là một ứng dụng đơn giản chạy trong khay hệ thống của bạn và gửi email vào một thư mục. Nó cũng có thể được cấu hình để mở từng email trong chương trình thư mặc định của bạn.


1
Tương tự như vậy. Nó chỉ hoạt động.
Adaddinsane

5

Nếu bạn đang sử dụng java, tôi sẽ sử dụng Wiser : Wiser là một máy chủ SMTP đơn giản mà bạn có thể sử dụng cho các ứng dụng thử nghiệm đơn vị gửi thư.


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.