node-red-contrib-outlook-imap
Version:
Node-RED node to capture emails from Outlook inbox using IMAP with OAuth2 token
66 lines (42 loc) • 2.66 kB
Markdown
# node-red-contrib-outlook-imap
### Node-RED custom node para captura de e-mails do Outlook utilizando IMAP e OAuth2 token.
Este nó personalizado captura e-mails não lidos da caixa de entrada do Outlook via IMAP, utilizando um **OAuth2 token** para autenticação.
## Instalação
3. Instalação de pacote no Node-RED:
```bash
npm i node-red-contrib-outlook-imap
```
## Configuração do Nó
No editor do Node-RED, este nó aparecerá na categoria de **input**.
### Campos de Configuração
- **Name**: Um nome descritivo para o nó, usado dentro do fluxo.
- **Email**: O endereço de e-mail do Outlook que será utilizado para capturar os e-mails.
- **OAuth2 Token**: O token OAuth2 será utilizado para autenticação com o Outlook. Este campo deve ser enviado no corpo do msg.token.
## Exemplo de Uso
### Fluxo Simples
1. Arraste o nó **outlook-imap** para o seu fluxo no Node-RED.
2. Configure o e-mail da conta do Outlook e o token OAuth2.
3. Conecte um nó de **debug** ou outro nó de processamento para visualizar ou manipular os e-mails capturados.
```plaintext
[{"id":"node-id","type":"outlook-imap","z":"1d9ab690","name":"MeuNóOutlook","email":"meuemail@outlook.com","token":"seu_token_oauth2_aqui","x":260,"y":240,"wires":[["debug-node"]]}]
```
Este nó vai capturar e-mails não lidos da sua caixa de entrada e enviá-los pela saída do nó em formato JSON. A estrutura da mensagem será algo como:
```json
{
"from": "Remetente <remetente@exemplo.com>",
"subject": "Assunto do E-mail",
"date": "Data do E-mail",
"body": "Corpo do E-mail em texto"
}
```
## Dependências
- [imap-simple](https://github.com/chadxz/imap-simple) - Biblioteca para conexão IMAP simplificada.
- [mailparser](https://nodemailer.com/extras/mailparser/) - Parser para corpo de e-mails.
Certifique-se de que essas bibliotecas estão corretamente instaladas no diretório do seu nó customizado.
## Problemas Conhecidos
- Este nó foi projetado para capturar apenas e-mails não lidos (flag **UNSEEN**). Caso queira modificar os critérios de busca, você pode alterar a função de busca no arquivo `outlook-imap.js`.
- O campo **OAuth2 Token** é desabilitado na interface para evitar edições manuais. No entanto, o token pode ser atualizado dinamicamente através do backend ou de mensagens Node-RED.
## Contribuindo
Contribuições são bem-vindas! Se você encontrar um problema ou tiver uma sugestão de melhoria, sinta-se à vontade para abrir uma issue ou enviar um pull request.
## Licença
Este projeto é licenciado sob a [Apache License](LICENSE).