Installing Mailjam is quite easy. If you have some experience installing Python packages [1], you already know how to do it. Mailjam is a standard Python package available on pypi [3] so just use your favourite tool (pip, easy_install, etc) to intall it.
Keep reading if you want to learn more about the different options/choices you have when installing Mailjam.
Contents
So far, the only dependency you will need in order to run mailjam is Python
Mailjam has been tested with python 2.7.x, but it should work with versions 2.6.x too.
Please, refer to your operating system documentation to learn more about how to install python.
You can install Mailjam using one of the available tools for installing Python packages, or you can install it from sources. Keep reading to learn more about it.
You can install Mailjam inside a virtualenv. Just create a virtualenv:
virtualenv /path/to/your/env
Then activate it:
source /path/to/your/env/bin/activate
Note
If your shell is csh/tcsh remember you have to activate the environment this way:
source /path/to/your/env/bin/activate.csh
And, once the environment has been activated, use pip to install Mailjam:
env$ pip install Mailjam
Note
Remember that you can install the latest bleeding edge version using pip too:
env$ pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam
When installing from sources, you can download one of the official releases or you can go with the bleeding edge and get a copy of the official source code repository.
You can grab a copy of the latest release from pypi:
http://pypi.python.org/packages/source/m/mailjam/
After downloaded, you have to unpack the sources:
tar -zxvvf mailjam-0.1.0.tar.gz
This will create a directory called mailjam-0.1.0, go inside that directory and run:
python setup.py install
Warning
If you want to install it system-wide, probably you will need root privileges (check your OS documentation to learn more about how to get root privileges - for example using sudo)
Note
This process will work inside a virtualenv too.
The source code of Mailjam is hosted in bitbucket [2]. In order to grab the latest sources you need Mercurial.
To get a copy of the sources, just clone the repository:
hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo
Then, go inside the mailjam-repo directory and run:
python setup.py install
Warning
If you want to install it system-wide, probably you will need root privileges (check your OS documentation to learn more about how to get root privileges - for example using sudo)
Note
This process will work inside a virtualenv too.
In order to setup Mailjam, you will have to create the needed configuration files. Each component has its own configuration file:
Refer to each configuration file documentation to learn more about the different settings you can customize.
Each component will search for its configuration file in a list of predefined locations, but you can override that behaviour using the -c parameter when starting the component.
Note
Mailjam will search for the config files, in order, through the following paths:
For example, you can start the Mailjam daemon passing /var/db/mailjam/mailjam.conf as its configuration file:
mailjam-server -c /var/db/mailjam/mailjam.conf
See also
Running Mailjam contains more information about how to run the different components.
If you have installed Mailjam using pip, easy_install or even from sources, the setup process should have taken care of the configuration files, adding a copy of the default files included in the sources to the default destination.
Warning
The default destination will be different based on your operating system. For example, in most linux servers it will copy the files to /etc/mailjam, while in BSD servers it will copy the files to /usr/local/etc/mailjam.
In order to run a full Mailjam environment, you will have to start the different components separately:
The daemon will have to be running all the time (it is the component responsible for providing information to the clients). You will need the CLI client to add, edit or delete mailing lists and each MTA client will be responsible to handle incoming emails for each mailing list.
Just in case you were wondering, yes, Mailjam code has some tests you can run to check everything is ok and that the software should run smoothly on your server(s).
To run the tests, simply get a copy of the sources from our public repository:
hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo
then run the tests:
cd mailjam-repo && ./bin/run_tests
[1] | http://docs.python.org/tutorial/modules.html#packages |
[2] | https://bitbucket.org/codigo23/mailjam |
[3] | http://pypi.python.org/pypi/mailjam |
[4] | http://svn.python.org/projects/sandbox/trunk/setuptools/doc/formats.txt |