Enviar um table com JavaMail

0 respostas
allan.tavares

Boa Tarde,

Estou tentando enviar um e-mail com o JavaMail , e fico iterando em uma lista e adicionando linhas para que envie uma tabela html completa.O problema e que estou tentando usar o MimeMultipart e simplesmente ele executa porém não envia nada.
Detalhe.....a lista tem dados se eu colocar por exemplo
msg.setContent("

"+contrato.getCodigo()+"
", "text/html; charset=ISO-8859-1"); dentro do For Each eu recebo o e-mail
normalmente.

Alguém tem alguma dica?

public void enviarEmail(String destinatario, String assunto, long mensagem,String mensagempadrao,List<Contrato> listacontratos) throws MessagingException, IOException {
		Properties props = new Properties(); 
		props.put("mail.transport.protocol", "smtp"); //define protocolo de envio como SMTP
		props.put("mail.smtp.host", mailSMTPServer); //server SMTP   
		props.put("mail.smtp.user", destinatario); //usuario ou seja , a conta que esta enviando o email
		//props.put("mail.debug", "true");  
		props.put("mail.smtp.port", mailSMTPServerPort); //porta  
		props.put("mail.smtp.socketFactory.port", mailSMTPServerPort); //mesma porta para o socket 
		
		
		//Session - objeto que ira realizar a conexão com o servidor 
		Session mailSession = Session.getDefaultInstance(props, null);
		//Objeto encarregado de enviar os dados para o email 
		Transport transport = mailSession.getTransport();
		//Objeto que contém a mensagem
        MimeMessage msg = new MimeMessage(mailSession);
        MimeMultipart multipart = new MimeMultipart() ;

        //Setando o assunto
        msg.setSubject(assunto);
        //Setando a origem do email
        msg.setFrom(new InternetAddress(usuario));
        
        MimeBodyPart messageBodyPart = new MimeBodyPart();
        String htmlText = "<table border='1'><tr>";
        messageBodyPart.setContent(htmlText, "text/html; charset=ISO-8859-1");
                
        // add it
        multipart.addBodyPart(messageBodyPart);

        for (Contrato contrato : listacontratos) {
        	messageBodyPart = new MimeBodyPart();
        	//Setando o conteúdo/corpo do email
        	String htmlText1 = "<td>"+contrato.getCodigo()+"</td>";
        	messageBodyPart.setContent(htmlText1,"text/html; charset=ISO-8859-1");
        	// add it
            multipart.addBodyPart(messageBodyPart);
        }
        messageBodyPart = new MimeBodyPart();
        String htmlText2 = "</tr></table>";
        messageBodyPart.setContent(htmlText2, "text/html; charset=ISO-8859-1");
        multipart.addBodyPart(messageBodyPart);
        
        // put everything together
        msg.setContent(multipart);
        msg.saveChanges();
       
        
         //Setando o destinatário
        msg.addRecipient(Message.RecipientType.TO,
                new InternetAddress(destinatario));

        transport.connect();
        transport.sendMessage(msg,
                msg.getRecipients(Message.RecipientType.TO));
        transport.close();
		 
		
		
	}
Criado 1 de junho de 2010
Respostas 0
Participantes 1