[RESOLVIDO] Regra de Repetição

2 respostas
fabricioempresa

Seguinte Pessoal.

Tenho o seguinte código.

try {
                 for (int i = 0; i < dest.length; i++) {
                    String user = FileConfig.getInstance().getuser();// pega os emails que receberão a notificação
                    EmailSimples.enviarEmail(user,dest[i],assunto,conteudo);// envia o email
                }
              } catch (MessagingException ex) {
                 JOptionPane.showMessageDialog(null, "EMAIL INVÁLIDO: Todos os destinatários abaixo \n" +
                         "desse email não receberam a notificação");
            }

Dentro do meu software tenho uma opção para o usuário habilitar 5 emails para receber a notificação.

Aí mora o meu problema! Ex: Se caso o usuário informar um 3o email que não seja válido o software pára
e envia o email so para os dois primeiros emails válidos se esquecendo dos outros 2.

Gostaria de alguma dica de como trater isso.

Desde já agradeço pela atenção!

Fabrício Riboldi

2 Respostas

E

Ponha o “try” dentro do “for”. A única coisa um pouco diferente que você vai ter de fazer, provavelmente, é acumular os emails que deram problemas, e criar uma lista disso.
Por exemplo:

List<String> destinatariosComProblemas = new ArrayList<String>();
    String user = FileConfig.getInstance().getuser();
    for (int i = 0; i < dest.length; ++i) {
        try {
            EmailSimples.enviarEmail(user, dest[i], assunto, conteudo);// envia o email
        } catch (MessagingException ex) {
            destinatariosComProblemas.add (dest[i]);
        }
    }
    if (destinatariosComProblemas.size() > 0) {
        JOptionPane.showMessageDialog (null, "Os seguintes destinatarios tiveram problemas no envio dos emails: " + destinatariosComProblemas.toString());
    } else {
        JOptionPane.showMessageDialog (null, "Todos os emails foram processados com sucesso.");
    }
fabricioempresa

Po cara genial mesmo funcionou não tinha pensado nessa
idéia.

Um dia eu te pago um almoço vlw

Abraço.

Criado 2 de março de 2010
Ultima resposta 2 de mar. de 2010
Respostas 2
Participantes 2