Formatação do html no email usando api commons mail[RESOLVIDO]

8 respostas
R

Olá a todos, estou tentando enviar um email com o api commons mail da apche, o envio está funcionando blz, mas não estou conseguindo deixar o html da forma que eu gostaria.

O html montaria estilo a newsletter com o titulo em cima dizendo caso não consiga visualizar a imagem…, no meio a imagem e no fundo outra frase informando caso não queira receber os informativos…

No máximo que consegui foi aparecer as imagens em cima, mas juntas em vez de uma em cima outra em baixo.

a imagem gerada esta no email.setHtmlMsg(e todo o negocio do cid)
.e as frase na email.setMsg(Frase)

para também funcionar coloquei o tbody, tfoot e thead, mas não funcionou.

Grato por qualquer dica.

8 Respostas

T

Cara, procura algo como “setMimeType”.
Deve ficar algo assim:

...setMimeType("text/html");
R

Cara vlw pela atenção, irei testar…

T

Opa!
Depois posta aqui se funcionou e tals.

Abraços.

R

Pode deixar mais hoje não vai dar :? , amanha vai :smiley: .

R

Demorei, por que mudei um pouco o focu aqui :frowning: .
E também pq eu não consegue :(, ainda :D.

Só tenho que saber usando as commons mail como colocar um link em cima e outro em baixo e no meio a imagem e não tem onde setar o MIME :frowning: Tchello obrigado por tentar ajudar :D.

T

Cara, da uma olhada aqui:
http://www.guj.com.br/posts/list/87637.java#473182

Tem uns trechos de código lá e em determinado ponto tem:

msg.setContent(message,"text/plain");

É ai que você deve setar da seguinte forma:

msg.setContent(message,"text/html");

Ve se funciona agora.

Abraços.

R

O link que você me enviou usa a api da sun e eu estou usando o common da apache, mas também tem o setContent("",""), só não tinha visto antes por que os tutoriais utilizam outro modo.
Pesquisando um pouco mais encontrei outro modo de enviar o email, quando terminar de testar posto aqui o resultado.
:smiley:
custava nada ter visto logo a documentação:http://commons.apache.org/email/apidocs/index.html

R

Aew finalmente, foi um pouco diferente do que eu estava fazendo, mas deu certo :D.

bom bem simples, como é de teste não fiz nada muito elaborado ou avançado:

HtmlEmail email = new HtmlEmail();
			
StringBuffer msgs = new StringBuffer();
msgs.append("<html><body>");
msgs.append("<center>Texto qualquer</center>");
msgs.append("<br />");
msgs.append("<center><img src='").append("local da imagem").append("' /></center>");
msgs.append("<br />");
msgs.append("<center><a href='").append("local do link url").append("'>link</a></center>");
msgs.append("</body></html>");
email.setHtmlMsg(msgs.toString());

email.setSubject("assunto");// Assunto
email.setHostName("servidor smtp");// - endereco smtp do servidor;
email.setSmtpPort("porta do smtp");// servidor porta do servidor;
email.setAuthentication("login", "senha");// autenticação bem simples para quem não usa gmail;

email.addTo("Email para quem vai ser enviada");
email.setFrom(Email de quem envia, "Nome de quem envia(optativa)");// email de quem envia

email.send();

nos tutoriais e nas api tem uns exemplos, mas um pouco diferente é criada uma instancia de URL e gerado um código cid, mas estava dando erro e a imagem não aparecia somente como anexo.

URL url;
url = new URL("link da imagem aqui...");
String cid = email.embed(url, assunto);

bom é isso e brincar um pouco mais e descobrir mais :smiley: e obrigado Tchello pela ajuda.

Criado 22 de março de 2010
Ultima resposta 6 de abr. de 2010
Respostas 8
Participantes 2