Melhores práticas - Enviando e-mails multipart javamail mime - e gmail

Eu tenho um aplicativo do Tomcat que precisa enviar e-mails de confirmação, etc. Eu codifiquei o e-mail com o Javamail (mail.jar) para enviar e-mails de texto / html com várias partes. Eu baseei o código nos exemplos do Java EE. Estou usando o SMTP MTA no servidor local.

Isso funciona muito bem. No Outlook, vejo a versão HTML. Se eu arrastá-lo para a pasta de spam do Outlook, vejo a versão em texto. Então eu interpreto isso dizendo que funciona.

No entanto, se eu visualizar os e-mails no Gmail, só vejo a versão em texto. Eu sei que o HTML está lá (é onde o Outlook obteve). Mas o Gmail não está mostrando isso ... Eu tenho muitos e-mails de outros sistemas que são exibidos como HTML no Gmail.

Alguém pode me apontar para a especificação que mostra o que estou perdendo? Existem cabeçalhos especiais que preciso criar?

obrigado

Código parece com isso:

Message message = new MimeMessage(session);
Multipart multiPart = new MimeMultipart("alternative");

try {

    MimeBodyPart textPart = new MimeBodyPart();
    textPart.setText(text, "utf-8");

    MimeBodyPart htmlPart = new MimeBodyPart();
    htmlPart.setContent(html, "text/html; charset=utf-8");

    multiPart.addBodyPart(htmlPart);
    multiPart.addBodyPart(textPart);
    message.setContent(multiPart);

    if(from != null){
        message.setFrom(new InternetAddress(from));
    }else
        message.setFrom();

    if(replyto != null)
        message.setReplyTo(new InternetAddress[]{new InternetAddress(replyto)});
    else
        message.setReplyTo(new InternetAddress[]{new InternetAddress(from)});

    InternetAddress[] toAddresses = { new InternetAddress(to) };
    message.setRecipients(Message.RecipientType.TO, toAddresses);
    message.setSubject(subject);
    message.setSentDate(new Date());

    Transport.send(message);

} catch (AddressException e) {
    e.printStackTrace();
    System.out.println("Error: "+e.getMessage());

} catch (MessagingException e) {
    e.printStackTrace();
    System.out.println("Error: "+e.getMessage());

} finally {     
    System.out.println("Email sent!");
}

questionAnswers(1)

yourAnswerToTheQuestion