BISMail

De BIS Wiki
Ir para navegação Ir para pesquisar

BISMail é o serviço que o Core oferece para gerenciar caixas de e-mail do sistema. De forma centralizada permitindo que vários módulos e plugins possam usa a mesma caixa de e-mail para diferentes fins. A caixa de e-mail pode ser usada para o envio de e-mail, ou mesmo para a interpretação dos e-mails recebidos.

Entidades

MailBoxVO

Representa uma caixa (ou conta) de e-mail. Tem os atributos necessários para identificação e acesso do e-mail, como usuário, senha, servidor, etc. Além disso contém a associação de um SchedulerVO, entidade usada no serivço Scheduler responsável por agendar tarefas. Neste caso para agendar as checagens de novos e-mails.

MailMessageVO

Entidade que representa uma mensagem de e-mail. Pode ser uma mensagem de e-mail recebida, um rascunho aguardando finalização, ou uma mensagem já enviada.

  • Mantém referência para a caixa de e-mail à qual esta mensagem foi recebida/enviada.
  • Referencia quatro listas de MailAddress***VO para armazenar os destinatários, os "Cópia Carbono" e os "Cópia Carbono Oculta" e dos remetentes da mensagem.
    Embora pareça um absurdo o campo "from" pode conter uma lista de endereços pela API de e-mail do java. Como não pude encontrar se há mesmo a possibilidade de múltiplos "senders", acatei a API.
  • Referencia ainda uma instância de MailAddressVO para o endereço do remetente usado na ocasião do recebimento/envio.
  • Referencia ainda o MailAttachmentVO que representa os anexos da mensagem.

Funcionalidades

Todos os métodos de acesso ao serviço estão disponibilizados através da fachada. Melhor e mais atualizada documentação no JavaDoc dos métodos.

Agendamento de Checagem de E-mails

Uma vez criada a caixa de e-mail e configurada o agendador de checagens, o sistema fará a checagem de novas mensagens de acordo com o tempo estabelecido. Para cada nova mensagem recebida o serviço disparará eventos para sinalizar a chegada das novas mensagens através do serviço EventDispatcher. A relação de eventos pode ser encontrada em Relação_de_Eventos_do_BISCore (onde os eventos são listados e mantidos de forma centralizada para simplificar a manutenção).

Métodos CRUD

O serviço apresenta os métodos de CRUD padrões para as entiades MailBoxVO e MailMessageVO

Manipulação de E-mails

Para funcionar como um "cliente" de e-mail o serviço deve prover métodos utilizados como em um cliente de e-mail como por exemplo para verificar novos e-mails, enviar mensagens, etc.