3

Can anyone suggest a library for sending emails in Java?

James McMahon
  • 48,506
  • 64
  • 207
  • 283
user93796
  • 18,749
  • 31
  • 94
  • 150

4 Answers4

13

Try Commons Mail. This builds on the Java Mail API but makes it much more simple to use.

Aaron Digulla
  • 321,842
  • 108
  • 597
  • 820
8

You may also want to take a look at the Apache Commons Email library. It is featureful and easy to use.

You could do something along the lines of:

import org.apache.commons.mail.SimpleEmail;
...
String[] recipients = {"a@foo.com", "b@foo.com"};

SimpleEmail email = new SimpleEmail();
email.setHostName("mail.myserver.com");

for (int i = 0; i < recipients.length; i++)
{
    email.addTo(recipients[i]);
}

email.setFrom("me@apache.org", "Me");
email.setSubject("Test message");
email.setMsg("This is a simple test of commons-email");
email.send();

The sample code is taken from the Commons Email example page, modified to show adding multiple recipients. Hope that helps.

Paul Kuykendall
  • 3,167
  • 1
  • 20
  • 17
5

Spring has a mail wrapper layer as well:

http://static.springframework.org/spring/docs/2.5.6/reference/mail.html

Nathan Feger
  • 19,122
  • 11
  • 62
  • 71
1

I think it's better to use JavaMail API and you can get some basic knowledge about this from following tutorial Fundamentals of the JavaMail API

Coder
  • 1,917
  • 3
  • 17
  • 33