StringBuffer emailMessage = new StringBuffer("Dear Scott");
emailMessage.append("\r\n");
emailMessage.append("Sending mail over internet");
デバッガーで検査したときのフォーマットされたコンテンツは次のとおりです
Dear Scott,
Sending mail over internet
しかし、サンダーバードで受信すると、以下のような 1 行で完全なメッセージが表示されます。コンテンツを html として送信するときに改行文字が正しく解釈されない
Dear Scott,Sending mail over internet
これがメッセージをhtmlとして送信する方法です
MimeMessage msg = null;
msg = new MimeMessage(mailSession);
msg.setText(body, CHARSET_UTF_8, "html");
単にテキストを msg.setText(body, CHARSET_UTF_8) として送信すると、メッセージが正しい形式で表示されます。つまり、次の行に「インターネット経由でメールを送信しています」と表示されます。テキストを HTML として送信するときに改行文字が正しく解釈されない理由がわかりません。