awesome-content-sender

    0.0.1 • Public • Published

    Awesome Content Sender

    This module provide a generic AwesomeModule which sends any contents using a sender. It comes with a precoded email-sender. This sender merges a content into a template then send it using the mailer. This mailer is a mandatory dependency and can be found here:

    Exposed api

    • registerSender(type, sender)

    Store a new sender of type type. A minimal sender is as such:

    module.exports = {
      send: function(from, to, content, options) {
        var deferred = require('q').defer();
        
        // ...
        // do whatever you want with from, to, content and options.
        // ...
        
        deferred.resolve();
        return deferred.promise;
      }
    }
    
    • send(from, to, content, options, type)

    Send the content using the sender stored of type type. It only delegates to sender.send method.

    Dependencies

    • linagora.io.mailer: mandatory, it is used in the email-sender.
    • logger: optional, it should at list exposed logger.info and logger.error, otherwise by default it is console.log.
    • config: optional, it should at list exposed config.email.templateDir, otherwise by default it is ./templates.

    The email-sender

    This sender can be used with:

    send(from, to, content, options, **'email'**)
    
    • from: It is a tuple { objectype: {String}, id: {String} }

    • to: It is a tuple { objectype: {String}, id: {String} }

    • content: Any kind of object

    • options: expected object is

      { template: {String}, mandatory, message: {Object} }

    By default templateDir is ./templates. So you must have this directory at the root of your project as such:

    | templates                  // templateDir
    | -- invitation              // options.template
         | -- style.less
         | -- html.jade
    | --  digest                 // options.template
         | --  style.less
         | --  html.jade
    | -- ...

    Install

    npm i awesome-content-sender

    DownloadsWeekly Downloads

    1

    Version

    0.0.1

    License

    AGPLv3

    Last publish

    Collaborators

    • mbailly