https://github.com/cafjs/caf_imap
OBSOLETE! version 0.1.X only - CAF extra lib to pull email from imap servers
https://github.com/cafjs/caf_imap
Last synced: 5 months ago
JSON representation
OBSOLETE! version 0.1.X only - CAF extra lib to pull email from imap servers
- Host: GitHub
- URL: https://github.com/cafjs/caf_imap
- Owner: cafjs
- Created: 2013-01-13T09:16:45.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2014-10-26T21:10:24.000Z (over 11 years ago)
- Last Synced: 2025-09-02T08:51:38.772Z (10 months ago)
- Language: JavaScript
- Homepage:
- Size: 414 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-2.0.txt
Awesome Lists containing this project
README
# CAF (Cloud Assistant Framework)
Co-design permanent, active, stateful, reliable cloud proxies with your web app.
See http://www.cafjs.com
## CAF Extra Mail
This repository contains a CAF extra lib to pull e-mail messages from an imap server.
WARNING: This package is an example of how **NOT** to write a plugin for CAF.
It is clearly doing too much, pulling and storing in memory the contents of every message.
Instead, a separate service should do most of the work, and use external storage (or DB) to cache the e-mail messages. In that case the CA would be just a lightweight coordination entity, checking for new e-mail in the remote imap servers, and interacting with the back-end service and the client app.
## API
lib/proxy_imap.js
See the Mail example application.
## Configuration Example
### framework.json
"plugs": [
{
"module": "caf_imap/plug",
"name": "imap_mux",
"description": "Manages connections to an imap service \n Properties: \n",
"env": {
}
},
### ca.json
"internal" : [
{
"module": "caf_imap/plug_ca",
"name": "imap_ca",
"description": "Provides an imap-based service for this CA",
"env" : {
"notifyMethod" : "accountsChanged"
}
},
...
]
"proxies" : [
{
"module": "caf_imap/proxy",
"name": "imap",
"description": "Provides access to an imap based e-mail service",
"env" : {
}
},
...
]
The `notifyMethod` property defines the name of the CA method that will be invoked whenever there is a change in any of the email accounts tracked.