He enviado correctamente el correo electrónico en mi aplicación web mediante JMS, pero el resultado solo se muestra en texto sin formato. Quiero que el contenido pueda mostrar HTML. ¿Cómo lo hago? Esto es aproximadamente lo que tengo:
Message msg = new MimeMessage(mailSession);
try{
msg.setSubject("Test Notification");
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(sentTo, false));
String message = "<div style=\"color:red;\">BRIDGEYE</div>";
msg.setContent(message, "text/html; charset=utf-8");
msg.setSentDate(new Date());
Transport.send(msg);
}catch(MessagingException me){
logger.log(Level.SEVERE, "sendEmailNotification: {0}", me.getMessage());
}
Establecer el tipo de contenido. Mira este método .
fuente
GString
ajava.lang.String
.Si está utilizando el motor de aplicaciones de Google / Java, utilice lo siguiente ...
fuente
msg.setSubject(subject,"UTF-8");
No funciona. Debería sermsg.setSubject(subject);
Desde la versión 1.4 de JavaMail, hay una sobrecarga de
setText
método que acepta el subtipo.fuente
tienes que llamar
después de configurar el tipo de contenido.
fuente
Eche un vistazo a http://commons.apache.org/email/ , tienen una clase HtmlEmail que probablemente hace exactamente lo que necesita.
fuente
Puede encontrar una clase Java completa y muy simple para enviar correos electrónicos usando la cuenta de Google (gmail) aquí, Enviar mensaje de correo electrónico usando la aplicación Java
Utiliza las siguientes propiedades
fuente
El "loginVo.htmlBody (messageBodyPart);" contendrá la información diseñada en formato html, pero en el correo no la recibe.
JAVA - STRUTS2
fuente
Encontré que de esta manera no estoy seguro de que funcione para todas las primitivas de CSS
Estableciendo la propiedad del encabezado "Content-Type" en "text / html"
ahora puedo hacer cosas como
Saludos
fuente
Puede usar setText (java.lang.String text, boolean html) desde
MimeMessageHelper
:Pero necesitas:
Antes de:
fuente