Boa madrugada,
Estou meio afastado do blog (mais uma vez) por motivos de trabalho. Estou muito envolvido no desenvolvimento de um sistema que está me roubando todo o tempo. Mas dei uma "passadinha" rápida aqui para mostrar a solução pra um problema que tive hoje: usar o javamail para enviar emails para mais de um destinatário.
Nem é tão difícil assim, mas acho que a falta de exemplos na Internet faz com que pareça ser.
Vamos lá então:
Quando vamos criar a mensagem a ser enviada, precisamos passar as seguintes informações básicas:
- Assunto
- Conteúdo da mensagem
- Remetente
- Destinatário(s)
É algo mais ou menos assim:
MimeMessage message = new MimeMessage(mailSession);
message.setSubject(email.getAssunto());
message.setContent(email.getMensagem(), "text/plain");
message.setFrom(new InternetAddress(email.getRemetente()));
message.addRecipients(Message.RecipientType.TO, "DESTINATÁRIOS"));
Bem, nesta ultima linha é onde definimos o(s) destinatário(s). E é esta última linha que este post tem como foco.
A função addRecipients tem dois construtores:
- Recebe o tipo de endereço que está sendo adicionado e um Array do tipo Address
- Recebe o tipo de endereço que está sendo adicionado e uma String com o(s) endereço(s)
Ou seja, ou você passa pra a função addRecipients um Array do tipo Address (contendo a lista de endereços), ou uma String (também contendo a lista de endereços). Eu particularmente achei muito mais fácil a segunda opção.
OBS.: O tipo do endereço refere-se a se é um "destinatário primário", um destinatário do tipo "com cópia" ou "com cópia oculta".
Para passar uma lista de emails por meio de uma String, eu só preciso separar os emails por vírgula. A minha String deve ser algo parecido com o seguinte:
String lista="em1@technaweb.com.br, em2@technaweb.com.br";
E a minha última linha do exemplo citado acima ficaria assim:
message.addRecipients(Message.RecipientType.TO, lista);
Assim, quando a função para enviar o email for chamado (função sendMessage da classe Transport), a lista de emails será verificada e um email será enviado para cada um dos endereços na String lista.
0 comentários:
Postar um comentário