Ativando Aplicativos J2EE para usar Recursos de Correio com JavaMail

É possível ativar seus aplicativos do Java™ Platform, Enterprise Edition (Java EE) para utilizar os recursos de correio com a API do JavaMail.

Antes de Iniciar

Usando a API JavaMail, um segmento de código pode ser integrado em qualquer componente do aplicativo Java EE, como um aplicativo Enterprise JavaBeans (EJB) ou um servlet, permitindo que o aplicativo envie uma mensagem e salve uma cópia do correio na pasta Enviados.
A seguir há uma amostra do código que você poderia integrar a um aplicativo Java EE:
javax.naming.InitialContext ctx = new javax.naming.InitialContext();

   javax.mail.Session mail_session = (javax.mail.Session) ctx.lookup("java:comp/env/mail/MailSession3");
   MimeMessage msg = new MimeMessage(mail_session);

   msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("bob@coldmail.net"));

   msg.setFrom(new InternetAddress("alice@mail.eedge.com"));

   msg.setSubject("Important message from eEdge.com");

   msg.setText(msg_text);

   Transport.send(msg);

 
   Store store = mail_session.getStore();

   store.connect();

   Folder f = store.getFolder("Sent");

   if (!f.exists()) f.create(Folder.HOLDS_MESSAGES);

   f.appendMessages(new Message[] {msg});

 

Sobre Esta Tarefa

Os aplicativos Java EE podem utilizar as APIs do JavaMail ao procurar referências para as connection factories de correio denominadas logicamente através do subcontexto java:comp/env/mail, que é declarado no descritor de implementação do aplicativo e mapeado para os recursos específicos de instalação da sessão de correio. Como no caso de outros recursos do Java EE, isso pode ser feito para eliminar a necessidade do aplicativo pelas referências do código permanente aos recursos externos.

Procedimento

  1. Localize um recurso através do Java Naming and Directory Interface (JNDI). A especificação do Java EE considera uma instância de sessão de correio como um recurso ou um factory do qual as conexões de transporte e armazenamento de correio podem ser obtidas. Não utilize sessões de correio com código permanente (ou seja, preencha um objeto Propriedades, em seguida, utilize-o para criar um objeto javax.mail.Session). Em vez disso, é necessário seguir o modelo de programação do Java EE de configuração dos recursos por meio dos recursos do sistema e, em seguida, localizá-los por meio de consultas do JNDI.

    No código de amostra anterior, a linha javax.mail.Session mail_session = (javax.mail.Session) ctx.lookup("java:comp/env/mail/MailSession3"); é um exemplo de como não utilizar código permanente em uma sessão de correio e utilizar um nome de recurso localizado através de JNDI. É possível considerar o nome da consulta, mail/MailSession3, como uma referência indireta ao recurso real.

  2. Defina as referências de recurso ao montar seu aplicativo. Você deve definir uma referência de recurso para o recurso de correio no descritor de implementação do componente, porque uma sessão de correio é referida na consulta de JNDI. Normalmente, é possível utilizar uma ferramenta de montagem fornecida com o servidor de aplicativos.
    Ao criar essa referência, certifique-se de que o nome da referência corresponda ao nome utilizado no código. Por exemplo, o código anterior utiliza java:comp/env/mail/MailSession3 em sua consulta. Portanto, o nome dessa referência deve ser mail/Session3, e o tipo de recurso deve ser javax.mail.Session. Após a configuração, o descritor de implementação contém a seguinte entrada para a referência do recurso de correio:
    <resource-reference> 
       <description>description</description>  
       <res-ref-name>mail/MailSession3</res-ref-name>
       <res-type>javax.mail.Session</res-type>  
       <res-auth>Container</res-auth>
    </resource-reference>
  3. Configure os provedores e as sessões de correio. O código de amostra faz referência a um recurso de correio, o descritor de implementação declara a referência, mas o recurso efetivo ainda não existe. Agora você precisa configurar o recurso de correio referido pelo componente do aplicativo. Observe que a sessão de correio configurada deve ter suas partes de transporte e de acesso ao correio definidas; a primeira é obrigatória, porque o código está enviando uma mensagem, a segunda, porque também salva uma cópia no armazenamento de correio local. Ao configurar a sessão de correio, você precisa especificar um nome de JNDI. Esse é um nome importante para a instalação de seu aplicativo e para a ligação das referências de recursos em seu aplicativo com os recursos reais configurados.
  4. Instale o aplicativo. É possível instalar o aplicativo utilizando o console administrativo ou a ferramenta de script. Durante a instalação, o servidor de aplicativo inspeciona todas as referências de recurso e requer que você forneça um nome de JNDI para cada uma delas. Esse não é um nome de JNDI, mas o nome de JNDI fornecido a um recurso específico configurado que é o destino da referência.
  5. Gerencie os provedores e sessões de correio existentes. É possível atualizar e remover os provedores e sessões de correio.

    Para atualizar os provedores e sessões de correio:

    1. Abra o administrative console.
    2. Clique em Recursos > Correio na árvore de navegação do console.
    3. Selecione o recurso apropriado do Java Mail a ser modificado clicando em Provedores de Correio ou Sessões de Correio.
    4. Selecione o recurso específico a modificar. Para remover um provedor de correio ou uma sessão de correio, selecione a caixa de opções ao lado do recurso apropriado e clique em Excluir.
    5. Clique em Aplicar ou em OK.
    6. Salve a configuração.
  6. Opcional: Depure uma sessão de correio.

O que Fazer Depois

Se o seu aplicativo tiver um cliente, será possível atualizar os provedores de correio e as sessões de correio utilizando o ACRCT (Application Client Resource Configuration Tool).

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tmai_jovr
Nome do arquivo: tmai_jovr.html