2010-01-19 8 views
15

첨부 파일이있는 전자 메일을 보내려하고 Java Mail API가 자극적으로 부족하다는 것을 알았습니다.Java Mail API에 대한 대안

javax.activation.DataHandler의 구현이 두 개만있어 첨부 파일을 보낼 로컬 파일을 만들어야합니다. DataHandler의 독자적인 구현을 작성해야 할 수도 있지만이 시점에서 해보고 싶지는 않습니다.

미리 감사드립니다.

애디

편집 : 나는 javax.activation.DataSourcejavax.activation.DataHandler

+0

직접 구현할 수 있습니까? 자바 메일이 부족하다는 사실을 알게되었습니다. http://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol – Pindatjuh

답변

9

봄은 partial wrapper around the JavaMail API 을 제공하므로 쉽게 삼킬 수 있습니다.

예를 들어 MimeMessageHelper 클래스를 사용하면 다양한 인터페이스 (including from a general InputStream source)를 사용하여 첨부 파일을 추가 할 수 있습니다.

JavaMail의 기본 메커니즘은 매우 포괄적이며 견고합니다. 단지 쓰레기 같은 API 일뿐입니다. 이것은 우려를 상당 부분 해결합니다.

+0

네, MB의 가치가있는 항아리가 마음에 들지 않으면 거의 집에 가깝습니다. !! !! – anilit99

+2

Spring 3에서, 메일은 컨텍스트 지원 JAR에 있으며, 의존성과 함께 상대적으로 작을 것입니다 (확실히 MB가 아님) – skaffman

1

는이 작업을 위해 apache commons를 시도하지 의미?
MultiPartEmail에는 몇 가지 오버로드 된 방법이 있습니다.

+0

오, 고마워요! 그러나이 클래스조차도 문자열을 입력으로 받아 들여 첨부 파일로 보냅니다. 파일이나 URI에서 가져와야합니다. – anilit99

1

사용자 정의 데이터 소스를 작성하는 것은 꽤 쉽습니다 (1 년 전에 우리 앱 중 하나를 위해 하나를 던졌으며 한 시간도 채 걸리지 않았습니다). 그것이 JavaMail에서 갖는 유일한 문제라면, 여러분이 시도해 볼 것을 제안합니다.

그렇다면 JavaMail이 가장 일반적인 사용 사례에 비해 지나치게 복잡하다는 데 동의합니다.