Skip to content

zextras/carbonio-mailbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Carbonio Mailbox

Contributors Activity License Project Twitter

Mailbox is the core component of Carbonio.

This repository contains the source code of Carbonio Mailbox which consists of several subcomponents and their roles:

  • client: client package to interact with the mailbox
  • common: package providing classes of common use, like utilities, clients and common parameters
  • native: package to load native libraries
  • soap: package describing SOAP APIs and tools to generate wsdl documentation
  • store: the real mailbox service (SOAP APIs, IMAP, POP3 and CLI)

Building Carbonio Mailbox from source

1. Build using local mvn command

  1. Requirements:
  • JDK version 17. Confirm by running:
    $ javac -version
  • gcc to build native module
  1. Build the Code by running:
    $ mvn clean install -DskipTests

Generating Rights and ZAttr classes

Whenever you make changes to attrs.xml you can generate rights and ZAttr* classes by running:

mvn antrun:run@generate-zattr-rights

Generating SOAP DOCS

mvn antrun:run@generate-soap-docs

Run Carbonio Mailbox locally (for Development)

Following guide provides two different ways to run Carbonio Mailbox locally for Development:

1. Mailbox with in-memory databases

Run com.zextras.mailbox.SampleLocalMailbox main class in store module, test directory. This will start a Mailbox with in-memory LDAP and an HSQLDB database.

2. Full Carbonio Mailbox

This option compiles the code, packages the artifacts, installs all the built Carbonio Mailbox packages, and then starts the services.

  1. Build the project:
    $ mvn install -DskipTests
  2. Build packages using build_packages.sh: The following commands will build the packages for ubuntu-focal, see build_packages.sh for other supported targets.
     $ ./build_packages.sh ubuntu-focal
  3. Navigate to the docker/single-server directory:
    $ cd ./docker/single-server
  4. Start Carbonio-CE Ubuntu Focal docker image with built Carbonio Mailbox packages:
    $ docker compose --profile ubuntu-focal up --build
    NB: don't forget to use the --build flag, otherwise it will not load the new changes

Contribute to Carbonio Mailbox

All contributions are accepted! Please refer to the CONTRIBUTING file (if present in this repository) for more detail on how to contribute. If the repository has a Code of Conduct, we kindly ask to follow that as well.

RC

To publish packages in RC:

  • Make sure release-it is installed or install it by running npm install
  • Update pom.xml version according to needs
  • run npm run release accepting to commit, tag and push It will result in CI building the tag and releasing the packages to RC channel.

License(s)

See COPYING file for detail.