Pular para o conteúdo principal

JavaMail vários destinatários

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:
  1. Recebe o tipo de endereço que está sendo adicionado e um Array do tipo Address
  2. 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.

Comentários

  1. E para anexos, como ficaria? Pois tenho um formulário para envio de 5 anexos.

    Att Marcia

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

CentOS 7 + OMD (Open Monitoring Distribution )

yum install wget -y
wget https://labs.consol.de/repo/stable/rhel7/x86_64/labs-consol-stable-1.3-1.rhel7.noarch.rpm
yum localinstall labs-consol-stable-1.3-1.rhel7.noarch.rpm -y
yum install omd -y
Após a instalação ser concluída, crie e inicie a nova instância do OMD:

omd create nome_do_siteomd start nome_do_site
Para visualizar e alter algumas configurações :

omd config nome_do_site
== OBS
O firewall do CentOS não permite conexões às porta 5000 por padrão (A porta 5000 é a default para o primeiro site OMD). Uma solução rápida (apenas em laboratório):

iptables -F
== Acesse o servidor:
http://ip_do_servidor:5000/nome_do_site
Usuário: omdadmin
Senha: omd

== Main informações
Mais informações em: http://omdistro.org/

[VMWare ESXi 6] - Suporte à placa de rede Realtek 8139

Essa placa não é suportada nativamente pelo ESXi. Para usar uma dessas placas precisei seguir os assoa abaixo:

Envie para o datastore o seguinte arquivo: https://www.dropbox.com/s/840jcwj93yed1wr/rtl8139.vib?dl=0

Execute essa sequência de comandos via SSH:

esxcli software acceptance set --level=CommunitySupported
esxcli software vib install -v /vmfs/volumes/datastore1/isos/rtl8139.vib

Reinicie o sistema e a placa deverá ser reconhecida.

:wq!

OpenVPN no CentOS

Oba oba!!! \0/
Estou de volta para guardar mais uma informação útil! A instalação do OpenVPN no CentOS. Vou mostrar aqui de maneira bem direta a instalação e configuração que já realizei em diversos ambientes.

STARTING...


1. Instale o repositório RPMForge:
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt rpm -K rpmforge-release-0.5.1-1.el5.rf.*.rpm rpm -i rpmforge-release-0.5.1-1.el5.rf.*.rpm

2. Verifique se o RPMForge aparece na lista de repositórios:
yum check-update
3. Instale o OpenVPN yum install openvpn -y
4. Iniciando a configuração: cp -pra /usr/share/openvpn/2.0/easy-rsa /etc/openvpn cd /etc/openvpn/easy-rsa . ./vars ./clean-all ./build-ca

5. Criando a chave para o servidor:
./build-key-server server

6. Criando a chave para o cliente:
./build-key cliente

7. Gerando um Diff Hellman (DH) no servidor:
./build-dh
dentro do diretório /etc/openvpn/ encontra-se um arquivo chamado server.conf (se não exist…