JakartaMail
セッションのプロパティ
TODO 2.0.0 のドキュメントではどこに明記されているだろう
例外
session から transport を取得する際
NoSuchProviderException
transport で connect する際
AuthenticationFailedException : for authentication failures
MessagingException : for other failures
IllegalStateException : if the service is already connected
transport で送信する際
SendFailedException : if the send failed because of invalid addresses.
送信に成功したアドレス、失敗したアドレスが取得できるが null が返ってくることもあるので注意
MessagingException : if the connection is dead or not in the connected state
メールの送信タイミング
Transport.sendMessage
呼び出された時点で送信を開始する
Transport の close は待たない
メール送信時のヘッダー
Multipart
Content-Transfer-Encoding
基本的には JakartaMail 側で自動的にセットされる
本文の内容によって base64 だったり quoted-printable する
どういう条件で変わるのかまでは調べてない #todo