¿Cómo establecer MimeBodyPart ContentType en "text / html"?

El siguiente programa muestra un valor de retorno inesperado para el tipo MIME multiparte HTML. ¿Por qué este programa imprime "text / plain" y no "text / html"?

public class Main {
  public static void main(String[] args) throws javax.mail.MessagingException, java.io.IOException {
    javax.mail.internet.MimeBodyPart mime_body_part = new javax.mail.internet.MimeBodyPart();
    mime_body_part.setContent("<h1>foo</h1>", "text/html");
    System.out.println(mime_body_part.getContentType());
  }
}

He intentado numerosas formas alternativas, incluida la configuración de un ByteArrayDataSource envuelto en un DataHandler, pero fue en vano. Lo mismo sucede cuando intento esto con un MimeMessage en lugar de un MimeBodyPart.

Para compilar y ejecutar en Linux:

javac -classpath .:activation.jar:mail.jar Main.java
java -classpath .:activation.jar:mail.jar Main

Respuestas a la pregunta(7)

Su respuesta a la pregunta