carlos22 / sogo-user-import

mail.core.io api user importer for sogo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sogo mail.core.io mail api user importer

Fetch a remote JSON file with the mail.core.io api schema (http://mail.core.io/api/#basic) and push it into a sogo compatible postgresql database.

Env Variables

  • PGUSER postgres user (default: postgres)
  • PGDATABASE database (default: sogo)
  • PGPASSWORD password (default: sogo)
  • PGHOST host (default: localhost)
  • PGPORT port (default: 5432)
  • VERBOSE enable verbose output (default: no)

Usage

node index.js <url-to-json>

Example Call

 PGHOST=192.168.15.138 PGPASSWORD=secret node index.js https://some.srv.customer.skylime.net/mail/export.json?token=232323232323

Database Schema

-- Table: sogo_users

-- DROP TABLE sogo_users;

CREATE TABLE sogo_users
(
  c_uid character varying(512) NOT NULL,
  c_name character varying(512),
  c_password character varying(256),
  c_cn character varying(512),
  mail character varying(512),
  CONSTRAINT sogo_users_pkey PRIMARY KEY (c_uid)
)
WITH (
  OIDS=FALSE
);

Sogo Configuration

Put this in /etc/sogo/sogo.conf

  SOGoUserSources =
    (
      {
        displayName = "Default";
        type = sql;
        id = directory;
        viewURL = "postgresql://postgres:secret@192.168.15.138:5432/sogo/sogo_users";
        canAuthenticate = YES;
        //isAddressBook = YES; // if you want the users to browse the others
        userPasswordAlgorithm = crypt;
      }
    );

About

mail.core.io api user importer for sogo

License:MIT License


Languages

Language:JavaScript 100.0%