Sendmail java

10 respostas
T

Amigos fiz uma aplicação simples para enviar email,

gostaria de saber como eu faço para passar meu objeto que esta com valor no corpo do email.

10 Respostas

R

thiago faz isso

SimpleEmail email = new SimpleEmail();

email.setContent(seuObjeto.toString(), "text/plain");
T

robsonsan deu certo o que vc me passou mais gerou um outro problema os objetos que quero enviar por email eu criei um loop como esta abaixo

mais esta escrevendo no corpo do email o ultimo objeto que esta dentro do meu loop o que esta errado ?

no exemplo abaixo só escreve o valor do objeto objetoTO.getObjeto4()

SimpleEmail email = new SimpleEmail();

                         email.setHostName("xxxx.xxxx.com.br");
                         email.addTo("[email removido]"); 
                         email.setFrom("[email removido]");  
                         email.setSubject("Teste");
                         email.setMsg("Email Teste."); 

        		for(ObjetoTO objetoTO: listObjetoTO){
        			
        			email.setContent(objetoTO.getObjeto1().toString(), "text/plain");
        			email.setContent(objetoTO.getObjeto2().toString(), "text/plain");
        			email.setContent(objetoTO.getObjeto3().toString(), "text/plain");
        			email.setContent(objetoTO.getObjeto4().toString(), "text/plain");

                        }
                       email.send();
programadora

Isso ocorre porque você “seta” o conteúdo do email e não faz uma concatenação. Todas as vezes que você faz email.setContent(…) você substitui o conteúdo inserido anteriormente. Se você quer fazer uma concatenação, ou seja que todas as strings sejam mantidas, você deveria fazer algo do tipo:

email.setContent(objetoTO.getObjeto1().toString() + objetoTO.getObjeto2().toString() + objetoTO.getObjeto3().toString()  + objetoTO.getObjeto4().toString(), "text/plain")

vlw

T

era isso mesmo

obrigado amigos

T

Só mais uma pergunta

se na minha lista tiver mais de um objeto como eu faço para escrever no corpo do email todos os objetos da lista já que o email.setContent(…)

substitui o conteúdo inserido anteriormente.

AlissonSchneider

tenta jogar abaixo

flw

boa sorte

:wink:

T

como assim AlissonSchneider ?

AlissonSchneider

opa entendi errado a pergunta :shock:

eu entendi que você queria pegar mais objetos ai eu pensei em utilizar o comando chamando o segundo objeto abaixo me esqueci que você citou que ele substitui o conteúdo anterior

abrass

:wink:

R

Thiago para resolver seu problema faz assim

SimpleEmail email = new SimpleEmail();  
   
                email.setHostName("xxxx.xxxx.com.br");  
                email.addTo("[email removido]");   
                email.setFrom("[email removido]");    
                email.setSubject("Teste");  
                email.setMsg("Email Teste.");   
                
                String content = "";
		 
                for(ObjetoTO objetoTO: listObjetoTO){  
			 
                	content = content + objetoTO.getObjeto1().toString() + 
                	objetoTO.getObjeto2().toString() + 
                	objetoTO.getObjeto3().toString() +
                	objetoTO.getObjeto4().toString());
		   
                } 
                email.setContent(content, "text/plain");
                email.send();
T

Obrigado robsonsan deu certo era isso mesmo.

Criado 19 de janeiro de 2011
Ultima resposta 20 de jan. de 2011
Respostas 10
Participantes 4