Apache Commons Email でメール本文に画像を埋め込む

Apache Commons Email でメール本文に画像を埋め込む方法。備忘録。

HtmlEmail email = new HtmlEmail();
// ... (略)
File file = Paths.get("duke.jpg").toFile();
String cid = email.embed(file);
email.setMsg("本文1<br><img src=\"cid:" + cid + "\"><br>本文2");
email.send(); //=> 本文1<br><img src="cid:yektmylwmn"><br>本文2

img タグの src に指定する cid (Content-ID) は、HtmlEmail.embed の戻り値 (ランダムな値) を使うか、第2引数に任意の値を指定する。