0

What is the easiest way to send and receive mails in java.

teabot
  • 15,358
  • 11
  • 64
  • 79
Biju CD
  • 4,999
  • 11
  • 34
  • 55

4 Answers4

10

Don't forget Jakarta Commons Email for sending mail. It has a very easy to use API.

teabot
  • 15,358
  • 11
  • 64
  • 79
7

JavaMail is the traditional answer for sending email (as everyone's pointing out).

As you also want to receive mail, however, you should check out Apache James. It's a modular mail server and heavily configurable. It'll talk POP and IMAP, supports custom plugins and can be embedded in your application (if you so wish).

Brian Agnew
  • 268,207
  • 37
  • 334
  • 440
4

Check this package out. From the link, here's a code sample:

Properties props = new Properties();
props.put("mail.smtp.host", "my-mail-server");
props.put("mail.from", "me@example.com");
Session session = Session.getInstance(props, null);

try {
    MimeMessage msg = new MimeMessage(session);
    msg.setFrom();
    msg.setRecipients(Message.RecipientType.TO,
                      "you@example.com");
    msg.setSubject("JavaMail hello world example");
    msg.setSentDate(new Date());
    msg.setText("Hello, world!\n");
    Transport.send(msg);
} catch (MessagingException mex) {
    System.out.println("send failed, exception: " + mex);
}
Pablo Santa Cruz
  • 176,835
  • 32
  • 241
  • 292
1
try {
Properties props = new Properties();
props.put("mail.smtp.host", "mail.server.com");
props.put("mail.smtp.auth","true");
props.put("mail.smtp.user", "test@server.com");
props.put("mail.smtp.port", "25");
props.put("mail.debug", "true");

Session session = Session.getDefaultInstance(props);

MimeMessage msg = new MimeMessage(session);

msg.setFrom(new InternetAddress("test@server.com"));

InternetAddress addressTo = null;
addressTo = new InternetAddress("test@mail.net");
msg.setRecipient(javax.mail.Message.RecipientType.TO, addressTo);

msg.setSubject("My Subject");
msg.setContent("My Message", "text/html; charset=iso-8859-9");

Transport t = session.getTransport("smtp");   
t.connect("test@server.com", "password");
t.sendMessage(msg, msg.getAllRecipients());
t.close();
} catch(Exception exc) {
  exc.printStackTrace();
}
firstthumb
  • 4,627
  • 6
  • 35
  • 45