2010-01-19 31 views
15

Tôi đang cố gắng gửi một email có tệp đính kèm và tìm thấy thư api java để gây khó chịu.Các giải pháp thay thế cho API Java Mail

Chỉ có hai lần triển khai javax.activation.DataHandler yêu cầu tôi tạo tệp cục bộ để gửi tệp đính kèm. Có thể tôi phải viết thực hiện của riêng tôi của DataHandler nhưng tôi không muốn làm điều đó vào thời điểm này.

cảm ơn trước!

Addy

EDIT: Tôi có nghĩa javax.activation.DataSource không javax.activation.DataHandler

+0

Bạn có thể tự mình thực hiện nó không? Tôi tìm thấy Java Mail là không đủ aswel. http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol – Pindatjuh

Trả lời

9

Mùa xuân cung cấp partial wrapper around the JavaMail API , giúp dễ nuốt hơn một chút. Ví dụ: MimeMessageHelper lớp cho phép bạn thêm tệp đính kèm bằng cách sử dụng các giao diện khác nhau, including from a general InputStream source.

Cơ chế cơ bản của JavaMail rất toàn diện và mạnh mẽ, nó chỉ là API là rác. Điều này giải quyết mối quan ngại đó, đến một mức độ lớn.

+0

Yup, điều đó gần như gần nhà, nếu bạn không nhớ MBs giá trị của lọ. !! – anilit99

+2

Vào mùa xuân 3, nội dung thư nằm trong JAR hỗ trợ ngữ cảnh, cùng với các phụ thuộc của nó, sẽ tương đối nhỏ (chắc chắn không phải MB) – skaffman

1

Bạn đã thử apache commons cho nhiệm vụ này?
Nó có MultiPartEmail có một số phương pháp quá tải attach.

+0

Oh cảm ơn vì điều đó! Nhưng ngay cả lớp này sẽ không lấy một String làm đầu vào và gửi nó như một phần đính kèm! Nó phải là từ một tập tin hoặc từ một URI. – anilit99

1

Viết một DataSource tùy chỉnh khá dễ dàng (tôi đã ném một lần với nhau cho một trong các ứng dụng của chúng tôi một năm trước và mất ít hơn một giờ). Nếu đó là vấn đề duy nhất bạn gặp phải với JavaMail, tôi khuyên bạn nên thử.

Điều đó nói rằng, tôi đồng ý rằng JavaMail chắc chắn quá phức tạp đối với các trường hợp sử dụng phổ biến nhất.

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