Listener javaMail – Gmail

Objetivo

Após muitas buscas com certas dificuldades em encontrar bons exemplos de projeto para leitura de e-mails automatizadas com Listerner, decidi criar este post, o objetivo demonstrar uma das possibilidades de desenvolvimento de um Listener conectado a um provedor de e-mails (Gmail).

Dev

Este projeto exemplo está disponível no Github mail-read aberto para contribuições e evoluções.

JavaMail

O projeto utiliza as funcionalidades das apis de integracao-web e JavaMail via SprintBoot.

图片[1]-Listener javaMail - Gmail - 拾光赋-拾光赋
A estrutura do app esta simplificada e não foi aplicado nenhum patterns especifico, a única organização realizada são as opções de execução via controller, ou Listener, sendo este segundo parecer mais útil e interessante, uma vez que assim existe a possibilidade de conectar ao provedor de email, e automaticamente após check-in de uma nova mensagem/e-mail a rotina e disparada.
Outras funções auxiliares de controle de execução podem ser utilizadas para padronizar horários da rotina, para que assim recursos de maquina possam ser economizados, se assim necessário.

MailboxServiceImpl

Os principais serviços/métodos de conexão e persistência no provedor estão agrupados aqui, incluindo configuração, criação e ativação de listener na folder “INBOX” que representa a “caixa de entrada” padrão de qualquer e-mail.
As únicas configurações que se fazem necessário estão no arquivo de application.properties conforme abaixo:

Provedor

Os provedores de e-mail, podem requisitar recursos de segurança para conexão segura com a caixa de email, sendo assim, é necessário seguir as diretrizes impostas para devida conexão. Configurações do Gmail: Imap

Ainda sobre Segurança

Recentemente o Google tem realizado acoes para ainda mais assegurar o acesso a conta via qualquer aplicativo de terceiros, vide novas mudanças, talvez seja necessário habilitar o uso de “apps menos seguros” para que o listener proposto seja devidamente bem sucedido
habilitar apps menos seguros

图片[2]-Listener javaMail - Gmail - 拾光赋-拾光赋
Após clonar o projeto e configurar conforme desejado, na execução inicial, o seguinte retorno deve aparecer confirmado a conexão e adição do listener na pasta/folder especificada:

handleMessage

Agora toda nova mensagem ao chegar nesta pasta será monitorada em “real time” e disparado a rotina handleMessage realizando alguma ação com o mensagem/e-mail ou com conteúdo disponível na mesma.
图片[3]-Listener javaMail - Gmail - 拾光赋-拾光赋
Espero ter ajudado de alguma forma 🙂
Fico a disposição para trocar ideia se necessário 😉
Abs.,

原文链接:Listener javaMail – Gmail

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容