JavaMailでどこかのSMTPサーバにメール送信する

Javaでメール送信する場合にはJavaMailっていうAPIを使うことは知っていたが、
実際に使ったことは無かったから試しにこれ使ってメールを送信してみた。
まず、JavaMailはjavax.mailパッケージ配下に必要なクラスがあるが、JavaEEに含まれるものなのでSE環境で使うには実装をクラスパスに追加する必要がある。
こっからダウンロードできるよ♪
JavaMail API
右のDownloadsってリンクを辿りダウンロードページヘGo。
ソースは以下のようになった。
Gistにもうpした。 JavaMail Example · GitHub
...と言うかそのまま貼り付ける技を身につけたw

送信するSMTPサーバは自前でなくても、プロバイダの奴とかを利用すれば良い。
デフォルトのポート以外で接続しなきゃいけないならポート番号の指定が必要。
もちろん、認証も必要。
という訳で、どうやって認証すればよいかちょっと悩んだがslf4jのソースにヒントがあったw
とりあえず、パスワード認証用のクラスを作らないといけないみたい。
ちなみに上の例を送信しようとすると、以下のようなメールが作られる。

From: majiky@example.com
Sender: majiky@example.com
To: to@destination.com
Message-ID: <806909308.0.1317482819763.JavaMail.majiky@smtp.example.com>
Subject: =?utf-8?B?44Oh44O844Or44KS6YCB44Gj44Gf5Lu244Gr44Gk44GE44Gm?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64

44Oh44O844Or44KS6YCB44KK44G+44GX44Gf77yB

これで、スパムメール送り放題だね!イェイ♪