BISMail: mudanças entre as edições
Criou página com '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 d...' |
|||
Linha 22: | Linha 22: | ||
* '''MailController''': Classe estática com os métodos que fazem a comunicação com o servidor. Faz parte do crud, mas por ter o acesso ao servidor e utilizar a JavaMail API o código foi separado nesta classe apenas por organização. | * '''MailController''': Classe estática com os métodos que fazem a comunicação com o servidor. Faz parte do crud, mas por ter o acesso ao servidor e utilizar a JavaMail API o código foi separado nesta classe apenas por organização. | ||
=== Checagem de E- | === 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). | 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. |
Edição das 19h07min de 24 de junho de 2015
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. No entanto o internamente o serviço está separado em duas partes:
- CRUD: Os métodos comuns do crud de inserir, alterar, excluir e finds estão todos implementados nos próprios CRUDs de qualquer objeto como no padrão do BIS.
- MailController: Classe estática com os métodos que fazem a comunicação com o servidor. Faz parte do crud, mas por ter o acesso ao servidor e utilizar a JavaMail API o código foi separado nesta classe apenas por organização.
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.