2011-12-22 48 views
33

Tôi muốn kiểm tra mã Java để gửi email. Tôi không muốn sử dụng bất kỳ ứng dụng thư thương mại nào hoặc kết nối với bất kỳ nhà cung cấp thư bên ngoài nào (như Gmail hoặc Yahoo). Tôi muốn biết nếu có bất kỳ phần mềm nào cho phép người dùng định cấu hình địa chỉ email giả và máy chủ (cục bộ) có thể được sử dụng trong phần mềm của tôi để gửi và nhận thư. Tôi chỉ muốn kiểm tra chức năng của mã Java.Máy chủ SMTP cục bộ đơn giản

+0

Kiểm tra điều này .. http://enbiso.github.io/dummy-smtp-server/ –

Trả lời

20

Để kiểm tra email, hãy thử Dumbster. Từ trang đó:

Dumbster là máy chủ SMTP giả rất đơn giản được thiết kế cho đơn vị và ứng dụng thử nghiệm hệ thống gửi thư email. Nó phản hồi tất cả các lệnh SMTP tiêu chuẩn nhưng không gửi thư cho người dùng. Các tin nhắn được lưu trữ trong Dumbster để khai thác sau và kiểm tra .

Các khe Dumbster chính nó rất dễ dàng vào chiến lược thử nghiệm của bạn. Với tư cách là miễn là ứng dụng của bạn trao đổi với máy chủ email bằng SMTP thì Dumbster có thể được sử dụng để kiểm tra ứng dụng mà không có thay đổi về mã.

+0

Ah, đó là một trong những khác tôi đã cố gắng để nhớ! Tôi biết tôi sẽ nhận ra nó ngay sau khi tôi nhìn thấy nó, nhưng tôi không thể nghĩ ra cái tên đó. – Argyle

+0

Dumbster là [bị hỏng] (http://sourceforge.net/p/dumbster/bugs/15/). –

+0

_Là một lưu ý phụ: _ có [vài _forks_] (https://github.com/search?utf8=%E2%9C%93&q=dumbster&type=) của "Dumbster" gốc cải thiện chức năng của nó theo nhiều cách khác nhau. – informatik01

7

Hãy thử GreenMail. Nó hướng đến việc sử dụng JUnit, nhưng nó sẽ làm những gì bạn cần. Bạn có thể chạy nó trong một trường hợp JBoss hoặc có các bài kiểm tra JUnit của bạn gửi thư cho chính mình, tùy thuộc vào nhu cầu cụ thể của bạn.

Có một vài phần mềm tương tự khác ở ngoài kia, nhưng đó là phần mềm tôi đã sử dụng và rất hài lòng với nó.

8

Bạn có thể sử dụng Wiser trong thư viện SubEthaSMTP, Mục đích của Wiser chính xác là những gì bạn muốn, thử nghiệm đơn vị.

+0

Mã mẫu nhỏ hơn: http://code.google.com/p/subethasmtp/wiki/Wiser – palacsint

+0

Cũng bị hỏng, khi kiểm tra đơn vị của tôi gửi 2 email html wiser nhận 3 bằng cách nào đó. GreenMail xử lý một cách chính xác, may mắn thay. – okutane

+0

okutane: Tôi đoán bạn đã gửi hai thư với ba người nhận. API Wiser trả về thư của người nhận. Nó thực sự không có trong phiên bản phát hành cuối cùng, nhưng thân cây chứa một JavaDoc cập nhật để làm cho điều này rõ ràng hơn: "Số lượng các giao dịch thư và số lượng thư có thể khác nhau. Nếu một thư được nhận với nhiều người nhận trong một thư giao dịch, khi đó danh sách sẽ chứa nhiều trường hợp WiserMessage, một số cho mỗi người nhận. " –

3

trên Leopard bạn có thể bắt đầu một SMTP Server Local (Postfix) trên OS-X Leopard

sudo vi /System/Library/LaunchDaemons/org.postfix.master.plist 

trước thẻ đóng ở cuối:

<key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> 

sau đó bắt đầu điều với

sudo postfix start 

bây giờ bạn kiểm tra xem dịch vụ nào đang chạy với:

telnet localhost 25 
3

javamail-file-transport lưu email vào tệp thay vì gửi chúng qua máy chủ SMTP.

Xem dự án javaMail extensions trên GitHub.

Nó cho biết thêm vận chuyển tập tin cho phép:

  • tiết kiệm mail đến các tập tin ở định dạng text thay vì gửi chúng
  • tiết kiệm mail đến các tập tin ở định dạng mbox thay vì gửi chúng
  • add đăng nhập thông tin thay vì gửi email
12

Tôi thích Fake SMTP cho việc này. Đó là một ứng dụng dành cho máy tính để bàn (được đóng gói trong tệp jar). Vì nó được viết bằng Java, bạn có thể chạy cả hai từ Linux/Mac/Windows

+0

Đây là giải pháp không xâm lấn và sạch sẽ, ít nhất là với các ứng dụng mùa xuân – Stackee007

1

Tôi đã sử dụng Mailtrap một vài lần và tôi có thể giới thiệu nó.

0

Bạn có thể sử dụng smtp4dev. Xin vui lòng tìm hiểu thêm chi tiết here.

0

use the Aspirin Từ tài liệu: Aspirin là máy chủ SMTP chỉ gửi có thể nhúng cho các nhà phát triển Java.

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