Montagem de email HTML

6 respostas
Francisco_Miguel

GALERA, ESTOU FAZENDO A MONTAGEM DE EMAIL EM HTML DA SEGUINTE FORMA

MimeMessage msg = new MimeMessage(session);
			msg.setFrom(new InternetAddress(remetente));
			msg.setRecipients(Message.RecipientType.TO, destinatarios);
			msg.setSubject(assunto);
			msg.setSentDate(new Date());
			MimeBodyPart mbpTexto = new MimeBodyPart()
mbpTexto.setText("<html><table> <tr> <td>"+
                " <img src='http://localhost:8080/infoscip/plc/midia/logo_infoscip_small_transp.gif'> </td>" +
                " <td> <B> Corpo de Bombeiros Militar de Minas Gerais </B> </td>" +
                " <td> </td> </tr>" +
                " <tr><td></td><td></td><td></td></tr>"+
                " <tr><td></td><td></td><td></td></tr>"+
                "<tr><td><BR><BR><b> DIRETORIA DE ATIVIDADES TÉCNICAS</B><BR><BR><BR></td> <td></td><td></td></tr>" +
                "<tr><td colspan='3'>Sua empresa possui RT que estão com pendências junto ao CREA-MG." +
                " Favor solicitar ao mesmos que regularizem tal situação sob pena de perda do cadastro no CBMMG." +
                " </td>" +
                "</tr>" +
                   " <tr><td></td><td><BR></td><td></td></tr>"+
                " <tr><td></td><td><BR></td><td></td></tr>"+
                   "<tr><td></td><td><BR></td><td><BR>BELO HORIZONTE, " +
                "</tr>" +
                   " <tr><td></td><td><BR></td><td></td></tr>"+
                " <tr><td></td><td><BR></td><td></td></tr>"+
                " <tr><td></td><td><BR></td><td></td></tr>"+
                "<tr> <td></td><td><BR></td><td></td></tr>" +
                "<tr> <td>DIRETOR DE ATVIDADES TÉCNICAS</td><td></td><td></td></tr>" +
                "</tr></table></html>");

			// adiciona corpo email
			Multipart mp = new MimeMultipart();
			mp.addBodyPart(mbpTexto);

			// mensagem pronta para ser enviada, preenchida com todos os
			// parametros necessarios para envio de email
			msg.setContent(mp);

			// envio de email
			Transport.send(msg);

MAS A FORMATACAO DO EMAIL NAO ESTA FICANDO EM HTML!!!! O QUE ESTA FALTANDO FAZER OU ESTA ERRADO?

6 Respostas

leoramos

Falta avisar pro MimeMessage que ele é um HTML:

msg.setContentType("text/html");

e na hora de anexar o texto, coloca:

msg.setBody("html aqui");

Segue isso aqui, caso não tenhas entendido o que eu quis dizer, ou eu não tenha me expressado direito:
http://www.jscape.com/articles/sending_html_email_using_java.html

Abraços!

Francisco_Miguel

cara nao tenho este set… tenho o setContentID é nele??

leoramos

Tu tá usando uma classe MimeMessage que eu não conheço, pelo visto… qual o pacote dele?

Francisco_Miguel

import javax.mail.internet.MimeMessage;

leoramos

Tá, então o negócio tá aqui:
http://www.docjar.org/docs/api/javax/mail/internet/MimeMessage.html#setContent(Multipart)
tens que olhar a documentação dos dois métodos ‘setContent’ que estão neste link.

Um deles recebe como parametro uma string com o valor do tipo. Podes tentar o “text/html”, mas nunca usei assim, sempre usei Commons Email, da Apache… mas podes tentar :wink:

Abraço, e desculpa não conseguir ajudar mais!

leoramos

Ah, uma coisa de cara:
o método setText tem por padrão o tipo “text/plain”.

Dá uma olhada nisso, também:

public void setText(String text, String charset, String subtype) throws MessagingException { MimeBodyPart.setText(this, text, charset, subtype); }

Convenience method that sets the given String as this part's content, with a primary MIME type of "text" and the specified MIME subtype. The given Unicode string will be charset-encoded using the specified charset. The charset is also used to set the "charset" parameter.

(Isso é da documentação da API)

Abraço!

Criado 15 de setembro de 2009
Ultima resposta 15 de set. de 2009
Respostas 6
Participantes 2