Envio de email com múltiplos anexos

2 respostas
V

Bom dia pessoal,

Preciso implementar um envio de email com múltiplos anexos.

Estou usando o código abaixo, porém ele está anexando somente o primeiro arquivo.

Se alguém puder me dar um help, fico grata.

String host = "10.0.64.0"; // define um host válido
    String from = "[email removido]"; // colocar um email válido
    String to = "[email removido]"; // colocar um email válido
    String fileAttachment = "/home_local/t_828348/Desktop/disciplinas.odt";

    String attach = "/home_local/t_828348/Desktop/disciplinas.odt " + "," + "/home_local/t_828348/Desktop/select.txt";
    int quantAnexos;


    // Get system properties
    Properties props = System.getProperties();

    // Setup mail server
    props.put("mail.smtp.host", host);

    // Get session
    Session session = Session.getInstance(props, null);

    // Define message
   
     MimeMessage message = new MimeMessage(session);
     message.setFrom(new InternetAddress(from));
     message.addRecipient( Message.RecipientType.TO, new InternetAddress(to));
     message.setSubject("Hello JavaMail Attachment");
    
    // create the message part
    MimeBodyPart messageBodyPart = new MimeBodyPart();

    //fill message
    messageBodyPart.setText("Hi");

    Multipart multipart = new MimeMultipart();
    multipart.addBodyPart(messageBodyPart);

   
    String caminhoAnexo[] = attach.split(",");
    quantAnexos = caminhoAnexo.length;
    
     for (int o = 0; o < quantAnexos; o++) {
            File file = new File(caminhoAnexo[o]);
            messageBodyPart = new MimeBodyPart();
            DataSource source =  new FileDataSource(file);
            messageBodyPart.setDataHandler(new DataHandler(source));
            messageBodyPart.setFileName(file.getName());
            multipart.addBodyPart(messageBodyPart);
         }
        message.setContent(multipart);
        message.saveChanges();

    // Send the message       
    Transport.send(message);

    return null;
}

Obrigada.

2 Respostas

T

Vera, aparentemente seu código está correto, então pode ser que esteja havendo algum problema para obter os arquivos.

V

Olá!

Realmente meu código ta certo.

Era uma questão de espaço entre os arquivos que estava dando errado.

Obrigada.

Criado 19 de agosto de 2009
Ultima resposta 20 de ago. de 2009
Respostas 2
Participantes 2