Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
70 lines (44 sloc) 1.77 KB

CAF (Cloud Assistant Framework)

Co-design permanent, active, stateful, reliable cloud proxies with your web app.


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.



See the Mail example application.

Configuration Example


   "plugs": [
        "module": "caf_imap/plug",
        "name": "imap_mux",
        "description": "Manages connections to an imap service \n Properties: \n",
        "env": {



"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.

Something went wrong with that request. Please try again.