// [VerySimpleSender.java]
import java.util.Date;

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.InternetAddress;

public class VerySimpleSender {
    static {
        java.util.Properties p = new java.util.Properties();
        p.put("mail.from", "shin@foo.co.jp"); // Message-ID:に使用されるメイルアドレス
        p.put("mail.smtp.host", "localhost"); // 接続先SMTPサーバ
        Session.getDefaultInstance(p, null);  // Sessionクラス内にDefaultSessionを生成。
    }

    public static void send(String subject, String body,
                            String to)
            throws MessagingException {
        MimeMessage msg =
                new MimeMessage(Session.getDefaultInstance(null, null));
        msg.setFrom();
        msg.addRecipients(
                MimeMessage.RecipientType.TO,
                InternetAddress.parse(to));
        msg.setSubject(subject, "ISO-2022-JP");
        msg.setText(body, "ISO-2022-JP");
        send(msg);
    }

    public static void send(String subject, String body,
                            String to, String from)
            throws MessagingException {
        MimeMessage msg =
                new MimeMessage(Session.getDefaultInstance(null, null));
        msg.addFrom(InternetAddress.parse(from));
        msg.addRecipients(
                MimeMessage.RecipientType.TO,
                InternetAddress.parse(to));
        msg.setSubject(subject, "ISO-2022-JP");
        msg.setText(body, "ISO-2022-JP");
        send(msg);
    }

    public static void send(MimeMessage msg) throws MessagingException {
        msg.setSentDate(new Date());
        // 適当な名前にしてください
        msg.setHeader("X-Mailer", "JavaMail Sender");
        Transport.send(msg);
    }
}

