cómo enviar correo electrónico HTML


Tengo que enviar el archivo HTML por correo electrónico, pero no como archivo adjunto.

Message simpleMessage = new MimeMessage(mailSession);
try {
   fromAddress = new InternetAddress(from);
   toAddress = new InternetAddress(to);

} catch (AddressException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
}

try {
    simpleMessage.setFrom(fromAddress);
    simpleMessage.setRecipient(RecipientType.TO, toAddress);

    simpleMessage.setSubject(subject);
    simpleMessage.setText(text);

    Transport.send(simpleMessage);
} catch (MessagingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

Está enviando un correo electrónico simplemente con un mensaje de texto. Quiero enviar contenido HTML que se almacena en otro archivo, pero no como adjunto

Author: Michael Schmidt, 2011-03-07

1 answers

No envidies tu MimeMessage a Message:

MimeMessage simpleMessage = new MimeMessage(mailSession);

Luego, cuando desee establecer el cuerpo del mensaje, llame a

simpleMessage.setText(text, "utf-8", "html");

O llame

simpleMessage.setContent(text, "text/html; charset=utf-8");

Si prefiere usar un conjunto de caracteres que no sea utf-8, sustitúyalo en el lugar apropiado.

JavaMail tiene una capa extra e inútil de abstracción que a menudo te deja sosteniendo clases como Multipart, Message, y Address, que todos tienen mucha menos funcionalidad que las subclases reales(MimeMultipart, MimeMessage, y InternetAddress) que en realidad se están construyendo...

 108
Author: dkarp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-07 22:29:25