JavaMailを利用したメール送信(GMail)

JSP/サーブレットの参考書のソースコードを一部修正し、GMailでメール送信できるよう変更。

認証ID、パスワード、送信元、送信先アドレス等は適切な値に変更してください。

mail.jsp

<%@ page contentType="text/html;charset=Windows-31J"
    import="java.util.*, javax.mail.*, javax.mail.internet.*" %>
<%! static final String SMTP_HOST = "smtp.gmail.com"; %>
<%!
// 承認用クラスを用意
private class myAuth extends Authenticator {
	protected PasswordAuthentication getPasswordAuthentication(){
		return new PasswordAuthentication( "ID", "PASSWORD" );
	}
}
%>
<html>
<head>
<title>電子メール送信</title>
</head>
<body>
<%
Properties prop = new Properties();
prop.put("mail.smtp.host", SMTP_HOST);
prop.put("mail.host", SMTP_HOST);
// SMTPポートを設定
prop.put("mail.smtp.port", "587");
// 認証を有効に設定
prop.put("mail.smtp.auth", "true" );
// STARTTLSを有効に設定
prop.put("mail.smtp.starttls.enable", "true");
// 認証用クラスを第2引数に指定して、セッションを生成
Session sess = Session.getInstance( prop, new myAuth() );

MimeMessage msg = new MimeMessage(sess);
msg.setRecipients(Message.RecipientType.TO, "送信者先アドレス");
msg.setFrom(new InternetAddress("送信元アドレス", "送信者名", "ISO-2022-JP"));
msg.setSubject("JavaMailによるメール送信", "ISO-2022-JP");
msg.setText("こんにちは、皆さん!", "ISO-2022-JP");
Transport.send(msg);
%>
メール送信に成功しました。
</body>
</html>