Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Alternatives to Java Mail API

I am trying to send an email with attachments and found the java mail api to be irritatingly insufficient.

There are only two implementations of javax.activation.DataHandler which mandates me to create a local file to send an attachment. May be I have to write my own implementation of DataHandler but I dont want to do that at this point.

thanks in advance !

Addy

EDIT : I meant javax.activation.DataSource not javax.activation.DataHandler

like image 776
anilit99 Avatar asked Jan 19 '10 13:01

anilit99


3 Answers

Spring provides a partial wrapper around the JavaMail API, making it a bit easier to swallow.

For example, the MimeMessageHelper class allows you to add attachments using various interfaces, including from a general InputStream source.

The underlying mechanics of JavaMail are very comprehensive and robust, it's just the API that's rubbish. This addresses that concern, to a large degree.

like image 174
skaffman Avatar answered Nov 20 '22 13:11

skaffman


Have you tried apache commons for this task?
It has MultiPartEmail which has several overloaded attach methods.

like image 21
Alberto Zaccagni Avatar answered Nov 20 '22 14:11

Alberto Zaccagni


Writing a custom DataSource is pretty easy (I tossed one together for one of our apps a year ago, and it took less than an hour). If that's the only issue you are having with JavaMail, I suggest that you give it a try.

That said, I agree that JavaMail is definitely overly complex for the most common use cases.

like image 1
Kevin Day Avatar answered Nov 20 '22 13:11

Kevin Day