2009-08-30 43 views
36

Tôi đang tìm một máy chủ smptp thử nghiệm miễn phí có thể lưu email vào các tệp để kiểm tra phát triển của tôi. Kể từ khi môi trường phát triển của tôi là cửa sổ tôi thích kiểm tra máy chủ email để chạy trên các cửa sổ nhưng tôi có thể xem xét để cài đặt bất kỳ lựa chọn thay thế dựa trên Linux khác.phát triển máy chủ smtp cho windows

Trả lời

35

Có một vài ví dụ:

Hoặc bạn cũng có thể thiết lập nó trong web.config của bạn để chỉ lưu trữ các e-mail trong hệ thống tệp (cách cấu hình của những gì "mượt" đã đề xuất trong mã):

<system.net> 
    <mailSettings> 
     <smtp deliveryMethod="SpecifiedPickupDirectory"> 
     <specifiedPickupDirectory 
      pickupDirectoryLocation="c:\temp\mails\"/> 
     </smtp> 
    </mailSettings> 
</system.net> 

Marc

+0

cài đặt độc lập antix là giải pháp chính xác cho vấn đề của tôi. Điều này là tốt hơn vì tôi đã có vấn đề với máy chủ gỡ lỗi python không phù hợp với các thông điệp được mã hóa UTF-8. – Tolga

+0

Tùy chọn cuối cùng phù hợp với tôi, tôi đã cài đặt thêm [Trình đọc EML] (http://www.emlreader.com/) để xem tốt hơn. –

11

- Chỉnh sửa:

Lời khuyên này chỉ có giá trị nếu bạn đang sử dụng .NET

Kiểm tra this ra. Nếu bạn cài đặt nó một cách thích hợp, nó sẽ chỉ lưu trữ email của bạn trên đĩa :)

SmtpClient client = ...; 
client.PickupDirectoryLocation = @"c:\foo\emails\"; //" 
client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; 

- Chỉnh sửa

Chỉ trong trường hợp một số người không nhận được nó, điều này có nghĩa là bạn không cần một SMTP máy chủ cho thử nghiệm/dev, bạn chỉ cần đặt biến thích hợp.

- Chỉnh sửa

Để hoàn chỉnh, như marc_s thấy dưới đây, bạn có thể thiết lập này trong configs độc đáo qua:

<system.net> 
    <mailSettings> 
     <smtp deliveryMethod="SpecifiedPickupDirectory"> 
     <specifiedPickupDirectory 
      pickupDirectoryLocation="c:\foo\emails\" /> 
     </smtp> 
    </mailSettings> 
</system.net> 
+0

Điều đó tất nhiên giả định rằng OP đang sử dụng C# để viết phần mềm của mình. –

+1

Có. Bạn làm cho một điểm công bằng Martin, tôi cho rằng anh ta đang sử dụng .NET, nhưng bây giờ nhận thấy nó không được chỉ định trong bài gốc. Lỗi của tôi khi ở trạng thái '.NET' :) –

+0

Bạn có thể cấu hình nó mà không thay đổi bất kỳ mã nào trong tệp cấu hình ứng dụng: phần tử 'confguration \ system.net \ mailSettings \ smtp'. – Thorarin

5

Các Python smtpd mô-đun có DebuggingServer mà in tất cả các tin nhắn đến stdout. Nếu bạn chuyển hướng chúng đến một tập tin, bạn nên làm.

+0

Tôi đã cài đặt python nên mất vài phút để tôi tìm một ví dụ sau đó triển khai máy chủ gỡ lỗi. Tôi gặp sự cố nhỏ khi hiển thị các email được mã hóa UTF-8. Khi tôi thử gửi email qua gmail, không có vấn đề gì với các thông điệp được mã hóa UTF-8, tuy nhiên mô-đun smtpd của python không in chính xác các ký tự không phải ascii. Bạn có bất cứ đề nghị nào về vấn đề này không? – Tolga

+0

Nói chung, các e-mail cần phải được mã hóa bằng cách sử dụng mã hóa có thể in hoặc mã hóa base64 và chỉ được chuyển trong mã hóa ASCII 7 bit (tìm MIME RFC trên Google). Trong khi một số phần mở rộng máy chủ SMTP cho phép gửi 8-bit e-mail nó không phải là một cái gì đó bạn nên đếm trên. –

+0

Cách chính thức trong Python để xử lý tin nhắn MIME là gói email. Tuy nhiên, làm điều đó có thể là quá mức cần thiết - vì vậy tôi khuyên bạn nên viết tất cả thư trong một tệp mbox (hoặc bằng cách nối trực tiếp nó, hoặc thông qua mô-đun hộp thư), và sau đó mở mô-đun trong Thunderbird. –

23

tôi biết rằng đây là một bài cũ tuy nhiên tôi cũng biết về http://smtp4dev.codeplex.com/ mà tôi cũng muốn giới thiệu. Nó nằm trên thanh tác vụ của bạn và sau đó bật lên khi bạn gửi email cho nó.Nó cho phép bạn kiểm tra email một cách sâu sắc.

5

Chúng tôi đã sử dụng Mailtrap cho việc này. Nó cung cấp cho bạn tài khoản máy chủ smtp từ xa và truy cập trực tiếp tới tất cả các thư trong đó. Vì vậy, bạn chỉ cần nhập thông tin xác thực smtp cho ứng dụng của bạn và sau đó tất cả các email được gửi bởi hệ thống của bạn sẽ được hiển thị trên mailtrap. Và bạn có thể dễ dàng tìm mã nguồn của thư và tải xuống hệ thống cục bộ của mình. Bạn có thể xem ví dụ here

Trên thư bạn có thể có nhiều tài khoản smtp tùy ý (tài khoản khác nhau cho các môi trường ứng dụng khác nhau hoặc ứng dụng khác) Bạn cũng có thể quản lý quyền truy cập vào tài khoản của mình) và bạn có thể chuyển tiếp một số email đến địa chỉ email thực.

2

Cắt giấy (http://papercut.codeplex.com/discussions) là cách đơn giản và thanh lịch nhất cho đến nay. Tệp exe đơn giản lắng nghe cổng 25 và hiển thị email.

+0

Vui lòng đọc lại câu hỏi: "Tôi đang tìm một máy chủ smptp thử nghiệm miễn phí có thể ** lưu email vào các tệp **" - PaperCut có hỗ trợ điều này không? – Kev

+0

Papercut là một công cụ khủng khiếp, nó không thể xử lý nhiều tin nhắn cùng một lúc. Tôi khuyên bạn nên tránh nó. –

+0

Tôi vừa thử Papercut ngay bây giờ và bạn có thể nhấp chuột phải vào thư và xem tệp vật lý được lưu. Đây là phần mềm tốt trong sách của tôi. – TheLegendaryCopyCoder

Các vấn đề liên quan