Sending an E-Mail - Java Network

Java examples for Network:EMail

Description

Sending an E-Mail

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Main {

  public static void main(String[] args) {

    Properties properties = new Properties();
    properties.put("mail.smtp.host", "smtp.somewhere.com");
    properties.put("mail.smtp.auth", "true");

    Session session = Session.getDefaultInstance(properties,
        new MessageAuthenticator("username", "password"));

    Message message = new MimeMessage(session);
    try {
      message.setFrom(new InternetAddress("someone@somewhere.com"));
      message.setRecipient(Message.RecipientType.TO, new InternetAddress(
          "someone@somewhere.com"));
      message.setSubject("Subject");
      message.setContent("This is a test message", "text/plain");
      Transport.send(message);
    } catch (MessagingException e) {
      e.printStackTrace();
    }
  }

}

class MessageAuthenticator extends Authenticator {
  PasswordAuthentication authentication = null;

  public MessageAuthenticator(String username, String password) {
    authentication = new PasswordAuthentication(username, password);
  }

  @Override
  protected PasswordAuthentication getPasswordAuthentication() {
    return authentication;
  }
}

Related Tutorials