Changeset 27:b1d527287347 in mailjam for docs/src


Ignore:
Timestamp:
May 23, 2012, 6:32:54 PM (13 years ago)
Author:
Borja Lopez <borja@…>
Branch:
default
Phase:
public
Message:

Added more information to the README file

Updated the architecture scheme so it fits the renaming of the project
to mailjam

Fixed the search path for configuration files. Now it searches on /etc
first, /usr/local/etc then.

Added more docs regarding the installation, configuration and running
of each component

Location:
docs/src
Files:
26 edited

Legend:

Unmodified
Added
Removed
  • docs/src/_build/html/_sources/configuration.txt

    r16 r27  
    22=============
    33
     4Mailjam has separate configuration files for the different apps (the daemon and
     5the variety of different clients available). Check below to read more about the
     6configuration file you need to modify depending on what you want to do.
     7
    48.. contents::
    59
    610.. _configuration_daemon:
    711
    8 Mailjam daemon configuration file
    9 ---------------------------------
    10 
    11 All the configurations that can be applied to the Mailjam daemon are registered
    12 in the **mailjam.conf** file. That file contains ini-style [1]_ configuration
    13 parameters, separated in different *categories*.
     12Mailjam daemon configuration file - mailjam.conf
     13------------------------------------------------
     14
     15All the configurations that can be applied to the :ref:`overview_mailjam_daemon`
     16are registered in the **mailjam.conf** file. That file contains ini-style [1]_
     17configuration parameters, separated in different *categories*.
    1418
    1519.. note::
     
    1822   your setup. The usual locations are:
    1923
    20    - */etc/mailjam.conf* - In most Linux systems (like archlinux, gentoo,
    21      fedora, debian, ubuntu, etc)
    22 
    23    - */usr/local/etc/mailjam.conf* - In most BSD systems (like FreeBSD, OpenBSD,
    24      NetBSD, etc)
     24   - */etc/mailjam/mailjam.conf* - In most Linux systems (like archlinux,
     25     gentoo, fedora, debian, ubuntu, etc)
     26
     27   - */usr/local/etc/mailjam/mailjam.conf* - In most BSD systems (like FreeBSD,
     28     OpenBSD, NetBSD, etc)
    2529
    2630   There is a copy of the configuration file in the *conf/* directory, within
     
    6266***
    6367
    64 Default: ``off`` (because ssl support hasn't been added yet)
    65 
    66 Enables/disables SSL [3]_ support in the daemon. If ``off`` all the traffic
    67 to/from the server will travel unencrypted. If ``on`` all the traffic will
     68Default: ``false`` (because ssl support hasn't been added yet)
     69
     70Enables/disables SSL [3]_ support in the daemon. If ``false`` all the traffic
     71to/from the server will travel unencrypted. If ``true`` all the traffic will
    6872travel encrypted.
    6973
     
    295299will be able to reset those passwords.
    296300
     301.. _configuration_mta_client:
     302
     303Mailjam MTA client configuration file - mailjam-mta.conf
     304--------------------------------------------------------
     305
     306This file contains all the parameters to configure the
     307:ref:`overview_mailjam_mta_client` properly. It contains ini-style [1]_
     308configuration parameters, separated in different *categories*.
     309
     310.. note::
     311
     312   The mailjam-mta.conf file will be installed in different locations
     313   depending on your setup. The usual locations are:
     314
     315   - */etc/mailjam/mailjam-mta.conf* - In most Linux systems (like archlinux,
     316     gentoo, fedora, debian, ubuntu, etc)
     317
     318   - */usr/local/etc/mailjam/mailjam-mta.conf* - In most BSD systems (like
     319     FreeBSD, OpenBSD, NetBSD, etc)
     320
     321   There is a copy of the configuration file in the *conf/* directory, within
     322   the sources.
     323
     324.. _configuration_mta_client_server:
     325
     326server
     327++++++
     328
     329This section contains the configuration parameters that tell the MTA client
     330where to connect when trying to interact with the
     331:ref:`overview_mailjam_daemon`.
     332
     333These are all the available parameters in this section:
     334
     335.. _configuration_mta_client_server_address:
     336
     337address
     338*******
     339
     340Default: ``localhost``
     341
     342The address where the daemon is listening for XMLRPC requests. This is
     343the address to where the client will try to connect to.
     344
     345.. _configuration_mta_client_server_port:
     346
     347port
     348****
     349
     350Default: ``9876``
     351
     352The port where the daemon accepts incoming XMLRPC requests. This is the
     353port to where the client will try to connect to.
     354
     355.. _configuration_mta_client_server_uri:
     356
     357uri
     358***
     359
     360Default: http://localhost:9876
     361
     362This is the URI [4]_ to where the client will connect to. It is constructed
     363based on the values of the :ref:`configuration_mta_client_server_address`
     364and :ref:`configuration_mta_client_server_port` parameters.
     365
     366.. note::
     367
     368   The default configuration file contains a dynamic setting for this
     369   parameter::
     370
     371     uri = http://%(address)s:%(port)s
     372
     373   That means that the parameter will inherit the values from the
     374   :ref:`configuration_mta_client_server_address`
     375   and :ref:`configuration_mta_client_server_port` parameters.
     376
     377.. seealso::
     378
     379   More information about this (and other tricks) here:
     380
     381   http://docs.python.org/library/configparser.html
     382
     383   http://www.doughellmann.com/PyMOTW/ConfigParser
     384
     385.. warning::
     386
     387   You can replace this with any URI you would like, **this is the parameter
     388   that is really used for establishing new connections** so be aware that if
     389   you remove the references to the
     390   :ref:`configuration_mta_client_server_address` and
     391   :ref:`configuration_mta_client_server_port` parameters, the values you have
     392   provided for those parameters will be ignored.
     393
     394.. _configuration_mta_client_server_ssl:
     395
     396ssl
     397***
     398
     399Default: ``false`` (because ssl support hasn't been added yet)
     400
     401Enables/disables SSL [3]_ connections to the daemon. If ``false`` all the
     402traffic to/from the server will travel unencrypted. If ``true`` all the traffic
     403will travel encrypted.
     404
     405.. warning::
     406
     407   In order to enable SSL support in the client, you have to be sure the
     408   :ref:`overview_mailjam_daemon` supports SSL too (check the
     409   :ref:`configuration_daemon_xmlrpc_ssl` parameter in the
     410   :ref:`configuration_daemon_xmlrpc` section of the
     411   :ref:`daemon configuration file <configuration_daemon>`)
     412
     413.. _configuration_mta_client_archive:
     414
     415archive
     416+++++++
     417
     418This section contains the configuration parameters that set where the files
     419generated by the client will be stored/saved.
     420
     421.. seealso::
     422
     423   For more information about the kind of files the client does generate,
     424   take a look at the
     425   :ref:`MTA client documentation <overview_mailjam_mta_client>`.
     426
     427These are all the available parameters in this section:
     428
     429.. _configurtion_mta_client_archive_persistent:
     430
     431persistent
     432**********
     433
     434Default: ``true``
     435
     436Enables/disables the local archive for the client. If ``true``, the client
     437will save a copy of every email sent to the list in an internal archive,
     438that could be checked/queried later. If ``false``, the emails will not be
     439kept on disk after being processed.
     440 
     441.. warning::
     442
     443   This feature is not ready yet.
     444
     445
     446.. _configuration_mta_client_archive_path:
     447
     448path
     449****
     450
     451Default: ``/usr/local/mailjam/archive-mta``
     452
     453Path to the directory where the archives will be saved.
     454
     455.. warning::
     456
     457   This feature is not ready yet.
     458
     459
     460.. _configuration_cli_client:
     461
     462Mailjam CLI client configuration file - mailjam-cli.conf
     463--------------------------------------------------------
     464
     465This file contains all the parameters to configure the
     466:ref:`overview_mailjam_cli_client` properly. It contains ini-style [1]_
     467configuration parameters, separated in different *categories*.
     468
     469.. note::
     470
     471   The mailjam-cli.conf file will be installed in different locations
     472   depending on your setup. The usual locations are:
     473
     474   - */etc/mailjam/mailjam-cli.conf* - In most Linux systems (like archlinux,
     475     gentoo, fedora, debian, ubuntu, etc)
     476
     477   - */usr/local/etc/mailjam/mailjam-cli.conf* - In most BSD systems (like
     478     FreeBSD, OpenBSD, NetBSD, etc)
     479
     480   There is a copy of the configuration file in the *conf/* directory, within
     481   the sources.
     482
     483.. _configuration_cli_client_server:
     484
     485server
     486++++++
     487
     488This section contains the configuration parameters that tell the cli client
     489where to connect when trying to interact with the
     490:ref:`overview_mailjam_daemon`.
     491
     492These are all the available parameters in this section:
     493
     494.. _configuration_cli_client_server_address:
     495
     496address
     497*******
     498
     499Default: ``localhost``
     500
     501The address where the daemon is listening for XMLRPC requests. This is
     502the address to where the client will try to connect to.
     503
     504.. _configuration_cli_client_server_port:
     505
     506port
     507****
     508
     509Default: ``9876``
     510
     511The port where the daemon accepts incoming XMLRPC requests. This is the
     512port to where the client will try to connect to.
     513
     514.. _configuration_cli_client_server_uri:
     515
     516uri
     517***
     518
     519Default: http://localhost:9876
     520
     521This is the URI [4]_ to where the client will connect to. It is constructed
     522based on the values of the :ref:`configuration_cli_client_server_address`
     523and :ref:`configuration_cli_client_server_port` parameters.
     524
     525.. note::
     526
     527   The default configuration file contains a dynamic setting for this
     528   parameter::
     529
     530     uri = http://%(address)s:%(port)s
     531
     532   That means that the parameter will inherit the values from the
     533   :ref:`configuration_cli_client_server_address`
     534   and :ref:`configuration_cli_client_server_port` parameters.
     535
     536.. seealso::
     537
     538   More information about this (and other tricks) here:
     539
     540   http://docs.python.org/library/configparser.html
     541
     542   http://www.doughellmann.com/PyMOTW/ConfigParser
     543
     544.. warning::
     545
     546   You can replace this with any URI you would like, **this is the parameter
     547   that is really used for establishing new connections** so be aware that if
     548   you remove the references to the
     549   :ref:`configuration_cli_client_server_address` and
     550   :ref:`configuration_cli_client_server_port` parameters, the values you have
     551   provided for those parameters will be ignored.
     552
     553.. _configuration_cli_client_server_ssl:
     554
     555ssl
     556***
     557
     558Default: ``false`` (because ssl support hasn't been added yet)
     559
     560Enables/disables SSL [3]_ connections to the daemon. If ``false`` all the
     561traffic to/from the server will travel unencrypted. If ``true`` all the traffic
     562will travel encrypted.
     563
     564.. warning::
     565
     566   In order to enable SSL support in the client, you have to be sure the
     567   :ref:`overview_mailjam_daemon` supports SSL too (check the
     568   :ref:`configuration_daemon_xmlrpc_ssl` parameter in the
     569   :ref:`configuration_daemon_xmlrpc` section of the
     570   :ref:`daemon configuration file <configuration_daemon>`)
     571
     572.. _configuration_cli_client_history:
     573
     574history
     575+++++++
     576
     577This section contains the configuration parameters that set the behaviour
     578of the client feature that allows it to save a history of commands provided
     579by the user.
     580
     581These are all the available parameters in this section:
     582
     583.. _configurtion_cli_client_archive_enabled:
     584
     585enabled
     586*******
     587
     588Default: ``true``
     589
     590Enables/disables history support in the client. If ``true`` all commands
     591provided by an user will be saved to disk. If ``false`` nothing will be
     592written to disk.
     593
     594.. _configuration_cli_client_history_path:
     595
     596path
     597****
     598
     599Default: ``~/.mailjam/cli/history``
     600
     601Path to the file where the list of executed commands will be saved.
     602
    297603
    298604.. [1] http://en.wikipedia.org/wiki/INI_file
    299605.. [2] http://en.wikipedia.org/wiki/XML-RPC
    300606.. [3] http://en.wikipedia.org/wiki/Secure_Socket_Layer
     607.. [4] http://en.wikipedia.org/wiki/Uniform_resource_identifier
  • docs/src/_build/html/_sources/examples.txt

    r13 r27  
    33
    44.. contents::
     5
     6TBW
  • docs/src/_build/html/_sources/install.txt

    r16 r27  
    22=========================
    33
     4Installing Mailjam is quite easy. If you have some experience installing
     5Python_ packages [1]_, you already know how to do it. Mailjam is a standard
     6Python_ package available on pypi_ [3]_ so just use your favourite tool
     7(pip_, easy_install_, etc) to intall it.
     8
     9Keep reading if you want to learn more about the different options/choices
     10you have when installing Mailjam.
     11
    412.. contents::
    513
     
    1422*2.6.x* too.
    1523
    16 Please, refer to your operating system package system documentation to learn
    17 more about how to install python.
     24Please, refer to your operating system documentation to learn more about how
     25to install python.
    1826
    1927.. _install_mailjam:
     
    2230-----------------------
    2331
     32You can install Mailjam using one of the available tools for installing Python_
     33packages, or you can install it from sources. Keep reading to learn more about
     34it.
     35
    2436.. _install_with_pip:
    2537
     
    2941You can install Mailjam using pip_::
    3042
    31   pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam
    32 
    33 .. note::
    34 
    35    Mailjam has not been recorded/uploaded to pypi_ yet, so, in order to install
    36    it using pip you will have to provide the URL for the public Mailjam repo.
     43  pip install Mailjam
     44
     45.. note::
     46
     47   The previous command will install the latest release from pypi_. If you
     48   would like to install the latest *bleeding edge* sources (unstable code),
     49   you can do it using pip_ too::
     50
     51     pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam
    3752
    3853.. _install_with_easy_install:
     
    4156+++++++++++++++++++++++++++++
    4257
    43 You can not install Mailjam using easy_install_ yet (until we do record/upload
    44 it to pypi)
     58You can install Mailjam using easy_install_::
     59
     60  easy_install Mailjam
    4561
    4662.. _install_inside_virtualenv:
     
    6682And, once the environment has been activated, use pip to install Mailjam::
    6783
    68   env$ pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam
     84  env$ pip install Mailjam
     85
     86.. note::
     87
     88   Remember that you can install the latest *bleeding edge* version using
     89   pip_ too::
     90   
     91     env$ pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam
    6992
    7093.. _install_from_sources:
     
    82105********
    83106
    84 **There are no releases yet**. You will have to install it from the repository.
    85 
    86 .. _install_from_repository:
    87 
    88 From repository
    89 ***************
    90 
    91 The source code of Mailjam is hosted in bitbucket_ [1]_. In order to grab
    92 the latest sources you need Mercurial_.
    93 
    94 To get a copy of the sources, just *clone* the repository::
    95 
    96   hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo
    97 
    98 Then, go inside the *mailjam-repo* directory and run::
     107You can grab a copy of the latest release from pypi_:
     108
     109http://pypi.python.org/packages/source/m/mailjam/
     110
     111After downloaded, you have to unpack the sources::
     112
     113  tar -zxvvf mailjam-0.1.0.tar.gz
     114
     115This will create a directory called *mailjam-0.1.0*, go inside that directory
     116and run::
    99117
    100118  python setup.py install
     
    110128   This process will work inside a virtualenv_ too.
    111129
     130.. _install_from_repository:
     131
     132From repository
     133***************
     134
     135The source code of Mailjam is hosted in bitbucket_ [2]_. In order to grab
     136the latest sources you need Mercurial_.
     137
     138To get a copy of the sources, just *clone* the repository::
     139
     140  hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo
     141
     142Then, go inside the *mailjam-repo* directory and run::
     143
     144  python setup.py install
     145
     146.. warning::
     147
     148   If you want to install it *system-wide*, probably you will need *root*
     149   privileges (check your OS documentation to learn more about how to get
     150   *root* privileges - for example using sudo_)
     151
     152.. note::
     153
     154   This process will work inside a virtualenv_ too.
     155
    112156.. _install_setting_up_mailjam:
    113157
     
    115159------------------
    116160
    117 TBW
     161In order to setup Mailjam, you will have to create the needed
     162:doc:`configuration files <configuration>`. Each component has its own
     163configuration file:
     164
     165- The :ref:`Mailjam daemon <overview_mailjam_daemon>` configuration file is
     166  :ref:`mailjam.conf <configuration_daemon>`
     167
     168- The :ref:`Mailjam MTA client <overview_mailjam_mta_client>` configuration
     169  file is :ref:`mailjam-mta.conf <configuration_mta_client>`
     170
     171- The :ref:`Mailjam CLI client <overview_mailjam_cli_client>` configuration
     172  file is :ref:`mailjam-cli.conf <configuration_cli_client>`
     173
     174Refer to each configuration file documentation to learn more about the different
     175settings you can customize.
     176
     177Each component will search for its configuration file in a list of predefined
     178locations, but you can override that behaviour using the *-c* parameter when
     179starting the component.
     180
     181.. note::
     182
     183   Mailjam will search for the config files, in order, through the following
     184   paths:
     185
     186   1. /etc/mailjam
     187
     188   2. /etc
     189
     190   3. /usr/local/etc/mailjam
     191
     192   4. /usr/local/etc
     193
     194   5. the *conf* directory within the sources (or the installed *egg* [4]_)
     195
     196For example, you can start the :ref:`overview_mailjam_daemon` passing
     197*/var/db/mailjam/mailjam.conf* as its configuration file::
     198
     199  mailjam-server -c /var/db/mailjam/mailjam.conf
     200
     201.. seealso::
     202
     203   :doc:`running` contains more information about how to run the different
     204   components.
     205
     206If you have installed Mailjam using pip_, easy_install_ or even from sources,
     207the setup process should have taken care of the configuration files, adding
     208a copy of the default files included in the sources to the default
     209destination.
     210
     211.. warning::
     212
     213   The default destination will be different based on your operating system.
     214   For example, in most linux servers it will copy the files to */etc/mailjam*,
     215   while in BSD servers it will copy the files to */usr/local/etc/mailjam*.
     216
     217.. seealso::
     218
     219   :doc:`Configuration files, settings and formats documentation <configuration>`
     220
    118221
    119222.. _install_running_mailjam:
     
    122225---------------
    123226
    124 TBW
     227In order to run a full Mailjam environment, you will have to start the different
     228components separately:
     229
     2301. :ref:`Start the daemon <running_daemon>`
     231
     2322. :ref:`Run the cli client and manage your mailing lists <running_cli_client>`
     233
     2343. :ref:`Add as much MTA clients as you need to your mail server<running_mta_client>`
     235
     236The daemon will have to be running all the time (it is the component responsible
     237for providing information to the clients). You will need the CLI client to add,
     238edit or delete mailing lists and each MTA client will be responsible to handle
     239incoming emails for each mailing list.
    125240
    126241.. _install_running_tests:
     
    129244-------------------------------
    130245
    131 TBW
     246Just in case you were wondering, **yes**, Mailjam code has some tests you can
     247run to check everything is ok and that the software should run smoothly on your
     248server(s).
     249
     250To run the tests, simply get a copy of the sources from our public repository::
     251
     252  hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo
     253
     254then run the tests::
     255
     256  cd mailjam-repo && ./bin/run_tests
     257
    132258
    133259.. _Python: http://python.org
     
    140266.. _sudo: http://sudo.ws
    141267
    142 .. [1] https://bitbucket.org/codigo23/mailjam
     268.. [1] http://docs.python.org/tutorial/modules.html#packages
     269.. [2] https://bitbucket.org/codigo23/mailjam
     270.. [3] http://pypi.python.org/pypi/mailjam
     271.. [4] http://svn.python.org/projects/sandbox/trunk/setuptools/doc/formats.txt
  • docs/src/_build/html/_sources/overview.txt

    r16 r27  
    1818   :class: open_fancybox
    1919
     20This architecture works for small setups (everything running on a single server)
     21but it works for bigger/larger installations with up to N mail servers, running
     22each server its own :ref:`overview_mailjam_mta_client` (or multiple instances
     23of it) to connect to N :ref:`overview_mailjam_daemon` servers (managed locally
     24or remotely using up to N :ref:`overview_mailjam_cli_client` or
     25:ref:`overview_mailjam_web_client` instances).
     26
     27.. seealso::
     28
     29   :doc:`The examples documentation <examples>` contains some useful examples
     30   about different kinds of setups.
    2031
    2132.. _overview_mailjam_daemon:
  • docs/src/_build/html/_sources/running.txt

    r16 r27  
    22===============
    33
     4In order to run Mailjam, you have to run the different components, depending on
     5what you want to do. Basically, you will need to run a server
     6(:ref:`overview_mailjam_daemon`) all the time, then you will need one
     7:ref:`overview_mailjam_mta_client` per mailing list.
     8
     9Ocasionally, you will need to add or delete a mailing list, or edit its
     10information, members list, etc. To do that, you will have to run a Mailjam
     11client (either the :ref:`CLI client <overview_mailjam_cli_client>` or the
     12:ref:`Web client <overview_mailjam_web_client>`).
     13
     14Keep reading if you want to learn more about the way you can start each
     15component, the different arguments/parameters you can provide on startup, etc.
     16
     17.. warning::
     18
     19   Remember that, before being able to run any component, you have to
     20   :ref:`set up proper configuration files <install_setting_up_mailjam>`. You
     21   can learn more about Mailjam configuration files in the
     22   :doc:`configuration files documentation <configuration>`.
     23
    424.. contents::
     25
     26.. _running_daemon:
     27
     28The daemon
     29----------
     30
     31First component you should start is the :ref:`overview_mailjam_daemon`. It is
     32quite easy, just run this command from a shell/console::
     33
     34  mailjam-server
     35
     36The server process will read the :ref:`mailjam.conf <configuration_daemon>`
     37configuration file, will prepare everything and will start listening for XMLRPC
     38requests on *localhost:9876*
     39
     40.. warning::
     41
     42   *localhost:9876* is the default value provided by the default configuration
     43   files. If you have modified that, it will be a different *address:port*
     44   combination.
     45
     46.. warning::
     47
     48   If you didn't add a valid configuration file to one of the
     49   :ref:`default paths <install_setting_up_mailjam>`, the server will refuse to
     50   start, giving you an error message.
     51
     52.. warning::
     53
     54   As of the current version of Mailjam, there are no pre-made init scripts that
     55   can handle the start/stop/restart of the daemon, but those will be added in
     56   one of the future releases.
     57
     58.. _running_daemon_parameters:
     59
     60Additional parameters
     61+++++++++++++++++++++
     62
     63You can pass some parameters to *mailjam-server* to modify the behaviour of
     64the daemon or get more information.
     65
     66.. note::
     67
     68   Remember that the proper way to modify the behaviour of the daemon is
     69   editing its configuration file, :ref:`mailjam.conf <configuration_daemon>`
     70
     71.. _running_daemon_help:
     72
     73--help
     74******
     75
     76You can get some help by passing the *-h* or *--help* parameters::
     77
     78  mailjam-server -h
     79
     80::
     81
     82  mailjam-server --help
     83
     84.. _running_daemon_config:
     85
     86--config
     87********
     88
     89You can set the path to the config file the server will load on startup,
     90passing the *-c* or *--config* parameters::
     91
     92  mailjam-server -c /home/mailjam/mailjam.conf
     93
     94::
     95
     96  mailjam-server --config /home/mailjam/mailjam.conf
     97 
     98.. warning::
     99
     100   If the file does not exist, or if it is not a valid configuration file,
     101   an error will be shown and the daemon will refuse to start.
     102
     103.. _running_daemon_version:
     104
     105--version
     106*********
     107
     108You can check the version of the mailjam server you are trying to run by
     109passing the *-v* or *--version* parameters::
     110
     111  mailjam-server -v
     112
     113::
     114
     115  mailjam-server --version
     116
     117
     118.. _running_cli_client:
     119
     120The CLI client
     121--------------
     122
     123
     124
     125.. _running_mta_client:
     126
     127The MTA client
     128--------------
     129
     130Once you have your :ref:`daemon running <running_daemon>`, you have to add
     131as many :ref:`MTA clients <overview_mailjam_mta_client>` as mailing lists you
     132want to manage to your mail server.
     133
     134.. _running_mta_client_quick:
     135
     136Quick configuration (you are a mail-servers-master)
     137+++++++++++++++++++++++++++++++++++++++++++++++++++
     138
     139Edit your mail server aliases file [1]_ (probably */etc/aliases* or
     140*/etc/mail/aliases*) and add an entry like::
     141
     142  list@mydomain.com: "|/usr/local/bin/mailjam-mta -a list@mydomain.com -i -"
     143
     144.. warning::
     145   
     146   replace *list@mydomain.com* with the real address of your mailing list
     147
     148.. warning::
     149
     150   replace */usr/local/bin/mailjam-mta* with the real path to your mailjam-mta
     151   installation
     152
     153Rebuild your *aliases* database::
     154
     155  newaliases
     156
     157.. warning::
     158
     159   Refer to your OS documentation to see how you can rebuild *aliases*. In most
     160   unix-like systems it is done by the newaliases [2]_ command.
     161
     162.. _running_mta_client_explained:
     163
     164Explained configuration (you really want to know what's happening here)
     165+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     166
     167When new messages arrive at your mail server for your mailing list address
     168(let's use the example address *list@mydomain.com*) one of the steps in the
     169process that checks the message, it's origin, destination, contents, etc is
     170the step where the mail server checks its internal *aliases* database, that is,
     171a list of *special* addresses that, instead of being *real* addresses, they are
     172related to some other addresses in some way.
     173
     174Most MTAs out there support one very *convenient* feature that is to *pipe* the
     175contents of the message (headers and body) to a given shell command. That means
     176that the all the received data will be sent to an external command for it to
     177process such data.
     178
     179**Here is where mailjam-mta comes in**.
     180
     181What you have to do is just tell your mail server that all messages with
     182destination *list@mydomain.com* (to keep using the same example address) will be
     183*piped* to mailman-mta. The Mailjam MTA client will then know what to do with
     184the message, performing some checks and re-sending it to the proper destinations
     185(the members/suscriptors of the given mailing list).
     186
     187So, first thing you have to find out is **where is your aliases file?**.
     188
     189In unix-like systems, like the different Linux distributions or the different
     190BSD flavours, that file is */etc/mail/aliases* or */etc/aliases* (usually one is
     191a simbolic link to the other).
     192
     193.. note::
     194
     195   Usually the aliases file contains some lines like::
     196
     197     MAILER-DAEMON: postmaster
     198     postmaster: root
     199
     200Once you've found out where the file is, edit it and add this line to the bottom
     201of the file::
     202
     203  list@mydomain.com: "|/usr/local/bin/mailjam-mta -a list@mydomain.com -i -"
     204
     205.. warning::
     206   
     207   replace *list@mydomain.com* with the real address of your mailing list
     208
     209.. warning::
     210
     211   replace */usr/local/bin/mailjam-mta* with the real path to your mailjam-mta
     212   installation
     213
     214There you are telling your mail server that any message coming **to**
     215*list@mydomain.com* will be passed to the mailjam-mta command, passing some
     216parameters to it:
     217
     218- **-a list@mydomain.com** tells mailjam-mta that the message is actually for
     219  that mailing list. The MTA client will then use that value to check (against
     220  the mailjam daemon) if it is a valid mailing list.
     221
     222- **-i -** tells mailjam-mta that the message will be *piped* directly. This is
     223  important, as mailjam-mta can read the messages from files, but in this case
     224  the mail server will *pipe* the data directly to mailjam-mta.
     225
     226Once you've added that line to your *aliases* file, you have to rebuild your
     227*aliases* database::
     228
     229  newaliases
     230
     231.. warning::
     232
     233   Refer to your OS documentation to see how you can rebuild *aliases*. In most
     234   unix-like systems it is done by the newaliases [2]_ command.
     235
     236And you are done. Everything is ready now.
     237
     238.. _running_mta_client_parameters:
     239
     240Additional parameters
     241+++++++++++++++++++++
     242
     243You can pass some parameters to *mailjam-mta* to modify the behaviour of
     244the client or get more information.
     245
     246.. note::
     247
     248   Remember that the proper way to modify the behaviour of the client is
     249   editing its configuration file,
     250   :ref:`mailjam-mta.conf <configuration_mta_client>`
     251
     252.. _running_mta_client_help:
     253
     254--help
     255******
     256
     257You can get some help by passing the *-h* or *--help* parameters::
     258
     259  mailjam-mta -h
     260
     261::
     262
     263  mailjam-mta --help
     264
     265.. _running_mta_client_config:
     266
     267--config
     268********
     269
     270You can set the path to the config file the client will load on startup,
     271passing the *-c* or *--config* parameters::
     272
     273  mailjam-mta -c /home/mailjam/mailjam-mta.conf
     274
     275::
     276
     277  mailjam-mta --config /home/mailjam/mailjam-mta.conf
     278 
     279.. warning::
     280
     281   If the file does not exist, or if it is not a valid configuration file,
     282   an error will be shown and the client will refuse to start.
     283
     284.. _running_mta_client_version:
     285
     286--version
     287*********
     288
     289You can check the version of the mailjam client you are trying to run by
     290passing the *-v* or *--version* parameters::
     291
     292  mailjam-mta -v
     293
     294::
     295
     296  mailjam-mta --version
     297
     298.. _running_mta_client_address:
     299
     300--address (required)
     301********************
     302
     303This parameter is required (you have to provide it with a value in order to
     304run the mailjam-mta). It sets the address of the mailing list managed by this
     305MTA client instance.
     306
     307The MTA client will use the provided value to do some checks on the daemon,
     308retrieving all the needed data to perform its tasks.
     309
     310You can pass a valid address using both the *-a* and *--address* parameters::
     311
     312  mailjam-mta -a list@mydomain.com
     313
     314::
     315
     316  mailjam-mta --address list@mydomain.com
     317
     318.. _running_mta_client_input:
     319
     320--input
     321*******
     322
     323This parameter tells mailjam-mta from where it has to read the message sent
     324to the mailing list. That could be a local file (to be readed from disk) or
     325a stream of data coming directly from the standard input (*stdin*).
     326
     327For a regular configuration/setup, the second option is preferred, as the mail
     328server will send the stream of data directly to mailjam-mta (as
     329:ref:`explained before <running_mta_client_explained>`)::
     330
     331  mailjam-mta -i -
     332
     333::
     334
     335  mailjam-mta --input -
     336
     337But perhaps some time you would like to send (again) a message you have on disk,
     338that could be done easily, passing the path to the file containing that message
     339to mailjam-mta::
     340
     341  mailjam-mta -i /home/backups/mail/that-important-mail.txt
     342
     343::
     344
     345  mailjam-mta -input /home/backups/mail/that-important-mail.txt
     346
     347
     348.. _running_web_client:
     349
     350The Web client
     351--------------
     352
     353.. [1] http://en.wikipedia.org/wiki/Email_alias
     354.. [2] http://www.freebsd.org/cgi/man.cgi?query=newaliases
  • docs/src/_build/html/configuration.html

    r16 r27  
    5353           
    5454  <div class="section" id="configuration">
    55 <h1><a class="toc-backref" href="#id9">Configuration</a><a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h1>
     55<h1><a class="toc-backref" href="#id28">Configuration</a><a class="headerlink" href="#configuration" title="Permalink to this headline">¶</a></h1>
     56<p>Mailjam has separate configuration files for the different apps (the daemon and
     57the variety of different clients available). Check below to read more about the
     58configuration file you need to modify depending on what you want to do.</p>
    5659<div class="contents topic" id="contents">
    5760<p class="topic-title first">Contents</p>
    5861<ul class="simple">
    59 <li><a class="reference internal" href="#configuration" id="id9">Configuration</a><ul>
    60 <li><a class="reference internal" href="#mailjam-daemon-configuration-file" id="id10">Mailjam daemon configuration file</a><ul>
    61 <li><a class="reference internal" href="#xmlrpc-server" id="id11">xmlrpc_server</a><ul>
    62 <li><a class="reference internal" href="#address" id="id12">address</a></li>
    63 <li><a class="reference internal" href="#port" id="id13">port</a></li>
    64 <li><a class="reference internal" href="#ssl" id="id14">ssl</a></li>
    65 <li><a class="reference internal" href="#ssl-key" id="id15">ssl_key</a></li>
    66 <li><a class="reference internal" href="#ssl-crt" id="id16">ssl_crt</a></li>
    67 <li><a class="reference internal" href="#logfile" id="id17">logfile</a></li>
    68 </ul>
    69 </li>
    70 <li><a class="reference internal" href="#storage" id="id18">storage</a><ul>
    71 <li><a class="reference internal" href="#backend" id="id19">backend</a></li>
    72 <li><a class="reference internal" href="#path" id="id20">path</a></li>
    73 <li><a class="reference internal" href="#lists-db" id="id21">lists_db</a></li>
    74 <li><a class="reference internal" href="#members-db" id="id22">members_db</a></li>
    75 </ul>
    76 </li>
    77 <li><a class="reference internal" href="#archive" id="id23">archive</a><ul>
    78 <li><a class="reference internal" href="#enabled" id="id24">enabled</a></li>
    79 <li><a class="reference internal" href="#configuration-daemon-archive-backend" id="id25">backend</a></li>
    80 <li><a class="reference internal" href="#configuration-daemon-archive-path" id="id26">path</a></li>
    81 </ul>
    82 </li>
    83 <li><a class="reference internal" href="#mailing-lists" id="id27">mailing_lists</a><ul>
    84 <li><a class="reference internal" href="#private" id="id28">private</a></li>
    85 </ul>
    86 </li>
    87 <li><a class="reference internal" href="#members" id="id29">members</a><ul>
    88 <li><a class="reference internal" href="#auto-signup" id="id30">auto_signup</a></li>
    89 <li><a class="reference internal" href="#allow-chpasswd" id="id31">allow_chpasswd</a></li>
    90 </ul>
    91 </li>
    92 </ul>
    93 </li>
    94 </ul>
    95 </li>
    96 </ul>
    97 </div>
    98 <div class="section" id="mailjam-daemon-configuration-file">
    99 <span id="configuration-daemon"></span><h2><a class="toc-backref" href="#id10">Mailjam daemon configuration file</a><a class="headerlink" href="#mailjam-daemon-configuration-file" title="Permalink to this headline">¶</a></h2>
    100 <p>All the configurations that can be applied to the Mailjam daemon are registered
    101 in the <strong>mailjam.conf</strong> file. That file contains ini-style <a class="footnote-reference" href="#id6" id="id1">[1]</a> configuration
    102 parameters, separated in different <em>categories</em>.</p>
     62<li><a class="reference internal" href="#configuration" id="id28">Configuration</a><ul>
     63<li><a class="reference internal" href="#mailjam-daemon-configuration-file-mailjam-conf" id="id29">Mailjam daemon configuration file - mailjam.conf</a><ul>
     64<li><a class="reference internal" href="#xmlrpc-server" id="id30">xmlrpc_server</a><ul>
     65<li><a class="reference internal" href="#address" id="id31">address</a></li>
     66<li><a class="reference internal" href="#port" id="id32">port</a></li>
     67<li><a class="reference internal" href="#ssl" id="id33">ssl</a></li>
     68<li><a class="reference internal" href="#ssl-key" id="id34">ssl_key</a></li>
     69<li><a class="reference internal" href="#ssl-crt" id="id35">ssl_crt</a></li>
     70<li><a class="reference internal" href="#logfile" id="id36">logfile</a></li>
     71</ul>
     72</li>
     73<li><a class="reference internal" href="#storage" id="id37">storage</a><ul>
     74<li><a class="reference internal" href="#backend" id="id38">backend</a></li>
     75<li><a class="reference internal" href="#path" id="id39">path</a></li>
     76<li><a class="reference internal" href="#lists-db" id="id40">lists_db</a></li>
     77<li><a class="reference internal" href="#members-db" id="id41">members_db</a></li>
     78</ul>
     79</li>
     80<li><a class="reference internal" href="#archive" id="id42">archive</a><ul>
     81<li><a class="reference internal" href="#enabled" id="id43">enabled</a></li>
     82<li><a class="reference internal" href="#configuration-daemon-archive-backend" id="id44">backend</a></li>
     83<li><a class="reference internal" href="#configuration-daemon-archive-path" id="id45">path</a></li>
     84</ul>
     85</li>
     86<li><a class="reference internal" href="#mailing-lists" id="id46">mailing_lists</a><ul>
     87<li><a class="reference internal" href="#private" id="id47">private</a></li>
     88</ul>
     89</li>
     90<li><a class="reference internal" href="#members" id="id48">members</a><ul>
     91<li><a class="reference internal" href="#auto-signup" id="id49">auto_signup</a></li>
     92<li><a class="reference internal" href="#allow-chpasswd" id="id50">allow_chpasswd</a></li>
     93</ul>
     94</li>
     95</ul>
     96</li>
     97<li><a class="reference internal" href="#mailjam-mta-client-configuration-file-mailjam-mta-conf" id="id51">Mailjam MTA client configuration file - mailjam-mta.conf</a><ul>
     98<li><a class="reference internal" href="#server" id="id52">server</a><ul>
     99<li><a class="reference internal" href="#configuration-mta-client-server-address" id="id53">address</a></li>
     100<li><a class="reference internal" href="#configuration-mta-client-server-port" id="id54">port</a></li>
     101<li><a class="reference internal" href="#uri" id="id55">uri</a></li>
     102<li><a class="reference internal" href="#configuration-mta-client-server-ssl" id="id56">ssl</a></li>
     103</ul>
     104</li>
     105<li><a class="reference internal" href="#configuration-mta-client-archive" id="id57">archive</a><ul>
     106<li><a class="reference internal" href="#persistent" id="id58">persistent</a></li>
     107<li><a class="reference internal" href="#configuration-mta-client-archive-path" id="id59">path</a></li>
     108</ul>
     109</li>
     110</ul>
     111</li>
     112<li><a class="reference internal" href="#mailjam-cli-client-configuration-file-mailjam-cli-conf" id="id60">Mailjam CLI client configuration file - mailjam-cli.conf</a><ul>
     113<li><a class="reference internal" href="#configuration-cli-client-server" id="id61">server</a><ul>
     114<li><a class="reference internal" href="#configuration-cli-client-server-address" id="id62">address</a></li>
     115<li><a class="reference internal" href="#configuration-cli-client-server-port" id="id63">port</a></li>
     116<li><a class="reference internal" href="#configuration-cli-client-server-uri" id="id64">uri</a></li>
     117<li><a class="reference internal" href="#configuration-cli-client-server-ssl" id="id65">ssl</a></li>
     118</ul>
     119</li>
     120<li><a class="reference internal" href="#history" id="id66">history</a><ul>
     121<li><a class="reference internal" href="#configurtion-cli-client-archive-enabled" id="id67">enabled</a></li>
     122<li><a class="reference internal" href="#configuration-cli-client-history-path" id="id68">path</a></li>
     123</ul>
     124</li>
     125</ul>
     126</li>
     127</ul>
     128</li>
     129</ul>
     130</div>
     131<div class="section" id="mailjam-daemon-configuration-file-mailjam-conf">
     132<span id="configuration-daemon"></span><h2><a class="toc-backref" href="#id29">Mailjam daemon configuration file - mailjam.conf</a><a class="headerlink" href="#mailjam-daemon-configuration-file-mailjam-conf" title="Permalink to this headline">¶</a></h2>
     133<p>All the configurations that can be applied to the <a class="reference internal" href="overview.html#overview-mailjam-daemon"><em>Mailjam daemon</em></a>
     134are registered in the <strong>mailjam.conf</strong> file. That file contains ini-style <a class="footnote-reference" href="#id24" id="id1">[1]</a>
     135configuration parameters, separated in different <em>categories</em>.</p>
    103136<div class="admonition note">
    104137<p class="first admonition-title">Note</p>
     
    106139your setup. The usual locations are:</p>
    107140<ul class="simple">
    108 <li><em>/etc/mailjam.conf</em> - In most Linux systems (like archlinux, gentoo,
    109 fedora, debian, ubuntu, etc)</li>
    110 <li><em>/usr/local/etc/mailjam.conf</em> - In most BSD systems (like FreeBSD, OpenBSD,
    111 NetBSD, etc)</li>
     141<li><em>/etc/mailjam/mailjam.conf</em> - In most Linux systems (like archlinux,
     142gentoo, fedora, debian, ubuntu, etc)</li>
     143<li><em>/usr/local/etc/mailjam/mailjam.conf</em> - In most BSD systems (like FreeBSD,
     144OpenBSD, NetBSD, etc)</li>
    112145</ul>
    113146<p class="last">There is a copy of the configuration file in the <em>conf/</em> directory, within
     
    115148</div>
    116149<div class="section" id="xmlrpc-server">
    117 <span id="configuration-daemon-xmlrpc"></span><h3><a class="toc-backref" href="#id11">xmlrpc_server</a><a class="headerlink" href="#xmlrpc-server" title="Permalink to this headline">¶</a></h3>
     150<span id="configuration-daemon-xmlrpc"></span><h3><a class="toc-backref" href="#id30">xmlrpc_server</a><a class="headerlink" href="#xmlrpc-server" title="Permalink to this headline">¶</a></h3>
    118151<p>This section contains the configuration parameters that modify the behaviour of
    119 the daemon when serving content through XMLRPC <a class="footnote-reference" href="#id7" id="id2">[2]</a>.</p>
     152the daemon when serving content through XMLRPC <a class="footnote-reference" href="#id25" id="id2">[2]</a>.</p>
    120153<p>These are all the available parameters in this section:</p>
    121154<div class="section" id="address">
    122 <span id="configuration-daemon-xmlrpc-address"></span><h4><a class="toc-backref" href="#id12">address</a><a class="headerlink" href="#address" title="Permalink to this headline">¶</a></h4>
     155<span id="configuration-daemon-xmlrpc-address"></span><h4><a class="toc-backref" href="#id31">address</a><a class="headerlink" href="#address" title="Permalink to this headline">¶</a></h4>
    123156<p>Default: <tt class="docutils literal"><span class="pre">localhost</span></tt></p>
    124157<p>The address where the daemon will be listening for XMLRPC requests. Use <tt class="docutils literal"><span class="pre">*</span></tt>
     
    127160</div>
    128161<div class="section" id="port">
    129 <span id="configuration-daemon-xmlrpc-port"></span><h4><a class="toc-backref" href="#id13">port</a><a class="headerlink" href="#port" title="Permalink to this headline">¶</a></h4>
     162<span id="configuration-daemon-xmlrpc-port"></span><h4><a class="toc-backref" href="#id32">port</a><a class="headerlink" href="#port" title="Permalink to this headline">¶</a></h4>
    130163<p>Default: <tt class="docutils literal"><span class="pre">9876</span></tt></p>
    131164<p>The port where the daemon will be listening por XMLRPC requests.</p>
    132165</div>
    133166<div class="section" id="ssl">
    134 <span id="configuration-daemon-xmlrpc-ssl"></span><h4><a class="toc-backref" href="#id14">ssl</a><a class="headerlink" href="#ssl" title="Permalink to this headline">¶</a></h4>
    135 <p>Default: <tt class="docutils literal"><span class="pre">off</span></tt> (because ssl support hasn&#8217;t been added yet)</p>
    136 <p>Enables/disables SSL <a class="footnote-reference" href="#id8" id="id3">[3]</a> support in the daemon. If <tt class="docutils literal"><span class="pre">off</span></tt> all the traffic
    137 to/from the server will travel unencrypted. If <tt class="docutils literal"><span class="pre">on</span></tt> all the traffic will
     167<span id="configuration-daemon-xmlrpc-ssl"></span><h4><a class="toc-backref" href="#id33">ssl</a><a class="headerlink" href="#ssl" title="Permalink to this headline">¶</a></h4>
     168<p>Default: <tt class="docutils literal"><span class="pre">false</span></tt> (because ssl support hasn&#8217;t been added yet)</p>
     169<p>Enables/disables SSL <a class="footnote-reference" href="#id26" id="id3">[3]</a> support in the daemon. If <tt class="docutils literal"><span class="pre">false</span></tt> all the traffic
     170to/from the server will travel unencrypted. If <tt class="docutils literal"><span class="pre">true</span></tt> all the traffic will
    138171travel encrypted.</p>
    139172</div>
    140173<div class="section" id="ssl-key">
    141 <span id="configuration-daemon-xmlrpc-ssl-key"></span><h4><a class="toc-backref" href="#id15">ssl_key</a><a class="headerlink" href="#ssl-key" title="Permalink to this headline">¶</a></h4>
     174<span id="configuration-daemon-xmlrpc-ssl-key"></span><h4><a class="toc-backref" href="#id34">ssl_key</a><a class="headerlink" href="#ssl-key" title="Permalink to this headline">¶</a></h4>
    142175<p>Default: <tt class="docutils literal"><span class="pre">/usr/local/etc/mailjam/ssl/mailjam.key</span></tt></p>
    143176<p>Path to the ssl key used for encrypted SSL sessions.</p>
     
    148181</div>
    149182<div class="section" id="ssl-crt">
    150 <span id="configuration-daemon-xmlrpc-ssl-crt"></span><h4><a class="toc-backref" href="#id16">ssl_crt</a><a class="headerlink" href="#ssl-crt" title="Permalink to this headline">¶</a></h4>
     183<span id="configuration-daemon-xmlrpc-ssl-crt"></span><h4><a class="toc-backref" href="#id35">ssl_crt</a><a class="headerlink" href="#ssl-crt" title="Permalink to this headline">¶</a></h4>
    151184<p>Default: <tt class="docutils literal"><span class="pre">/usr/local/etc/mailjam/ssl/mailjam.crt</span></tt></p>
    152185<p>Path to the ssl certificate used for encrypted SSL sessions.</p>
     
    157190</div>
    158191<div class="section" id="logfile">
    159 <span id="configuration-daemon-xmlrpc-logfile"></span><h4><a class="toc-backref" href="#id17">logfile</a><a class="headerlink" href="#logfile" title="Permalink to this headline">¶</a></h4>
     192<span id="configuration-daemon-xmlrpc-logfile"></span><h4><a class="toc-backref" href="#id36">logfile</a><a class="headerlink" href="#logfile" title="Permalink to this headline">¶</a></h4>
    160193<p>Default: <tt class="docutils literal"><span class="pre">/var/log/mailjam/xmlrpc_server.log</span></tt></p>
    161194<p>Path to the file where log messages will be saved</p>
     
    163196</div>
    164197<div class="section" id="storage">
    165 <span id="configuration-daemon-storage"></span><h3><a class="toc-backref" href="#id18">storage</a><a class="headerlink" href="#storage" title="Permalink to this headline">¶</a></h3>
     198<span id="configuration-daemon-storage"></span><h3><a class="toc-backref" href="#id37">storage</a><a class="headerlink" href="#storage" title="Permalink to this headline">¶</a></h3>
    166199<p>This section contains the configuration parameters that modify the way the
    167200daemon saves data to disk, using one of the storage backends.</p>
    168201<p>These are all the available parameters in this section:</p>
    169202<div class="section" id="backend">
    170 <span id="configuration-daemon-storage-backend"></span><h4><a class="toc-backref" href="#id19">backend</a><a class="headerlink" href="#backend" title="Permalink to this headline">¶</a></h4>
     203<span id="configuration-daemon-storage-backend"></span><h4><a class="toc-backref" href="#id38">backend</a><a class="headerlink" href="#backend" title="Permalink to this headline">¶</a></h4>
    171204<p>Default: <tt class="docutils literal"><span class="pre">json</span></tt></p>
    172205<p>Sets the type of backend the daemon is going to use. Right now the only backend
     
    174207</div>
    175208<div class="section" id="path">
    176 <span id="configuration-daemon-xmlrpc-path"></span><h4><a class="toc-backref" href="#id20">path</a><a class="headerlink" href="#path" title="Permalink to this headline">¶</a></h4>
     209<span id="configuration-daemon-xmlrpc-path"></span><h4><a class="toc-backref" href="#id39">path</a><a class="headerlink" href="#path" title="Permalink to this headline">¶</a></h4>
    177210<p>Default: <tt class="docutils literal"><span class="pre">/usr/local/mailjam/storage</span></tt></p>
    178211<p>Path to the directory where the backend will save data.</p>
    179212</div>
    180213<div class="section" id="lists-db">
    181 <span id="configuration-daemon-storage-lists-db"></span><h4><a class="toc-backref" href="#id21">lists_db</a><a class="headerlink" href="#lists-db" title="Permalink to this headline">¶</a></h4>
     214<span id="configuration-daemon-storage-lists-db"></span><h4><a class="toc-backref" href="#id40">lists_db</a><a class="headerlink" href="#lists-db" title="Permalink to this headline">¶</a></h4>
    182215<p>Default: <tt class="docutils literal"><span class="pre">/usr/local/mailjam/storage/mailings.json</span></tt></p>
    183216<p>Path to the file where the identifiers of existing mailing lists will be saved.</p>
     
    200233</div>
    201234<div class="section" id="members-db">
    202 <span id="configuration-daemon-xmlrpc-members-db"></span><h4><a class="toc-backref" href="#id22">members_db</a><a class="headerlink" href="#members-db" title="Permalink to this headline">¶</a></h4>
     235<span id="configuration-daemon-xmlrpc-members-db"></span><h4><a class="toc-backref" href="#id41">members_db</a><a class="headerlink" href="#members-db" title="Permalink to this headline">¶</a></h4>
    203236<p>Default: <tt class="docutils literal"><span class="pre">/usr/local/mailjam/storage/members.json</span></tt></p>
    204237<p>Path to the file where the identifiers of existing members will be saved.</p>
     
    211244</div>
    212245<div class="section" id="archive">
    213 <span id="configuration-daemon-archive"></span><h3><a class="toc-backref" href="#id23">archive</a><a class="headerlink" href="#archive" title="Permalink to this headline">¶</a></h3>
     246<span id="configuration-daemon-archive"></span><h3><a class="toc-backref" href="#id42">archive</a><a class="headerlink" href="#archive" title="Permalink to this headline">¶</a></h3>
    214247<p>This section contains the configuration parameters that modify the way the
    215248daemon saves data to disk, using one of the storage backends.</p>
    216249<p>These are all the available parameters in this section:</p>
    217250<div class="section" id="enabled">
    218 <span id="configuration-daemon-archive-enabled"></span><h4><a class="toc-backref" href="#id24">enabled</a><a class="headerlink" href="#enabled" title="Permalink to this headline">¶</a></h4>
     251<span id="configuration-daemon-archive-enabled"></span><h4><a class="toc-backref" href="#id43">enabled</a><a class="headerlink" href="#enabled" title="Permalink to this headline">¶</a></h4>
    219252<p>Default: <tt class="docutils literal"><span class="pre">true</span></tt></p>
    220253<p>Enables/disables the <em>archives</em> feature. When enabled, Mailjam saves copies of
     
    229262</div>
    230263<div class="section" id="configuration-daemon-archive-backend">
    231 <span id="id4"></span><h4><a class="toc-backref" href="#id25">backend</a><a class="headerlink" href="#configuration-daemon-archive-backend" title="Permalink to this headline">¶</a></h4>
     264<span id="id4"></span><h4><a class="toc-backref" href="#id44">backend</a><a class="headerlink" href="#configuration-daemon-archive-backend" title="Permalink to this headline">¶</a></h4>
    232265<p>Default: <tt class="docutils literal"><span class="pre">json</span></tt></p>
    233266<p>Sets the type of backend used to store messages into the archive.</p>
     
    238271</div>
    239272<div class="section" id="configuration-daemon-archive-path">
    240 <span id="id5"></span><h4><a class="toc-backref" href="#id26">path</a><a class="headerlink" href="#configuration-daemon-archive-path" title="Permalink to this headline">¶</a></h4>
     273<span id="id5"></span><h4><a class="toc-backref" href="#id45">path</a><a class="headerlink" href="#configuration-daemon-archive-path" title="Permalink to this headline">¶</a></h4>
    241274<p>Default: <tt class="docutils literal"><span class="pre">/usr/local/mailjam/archives</span></tt></p>
    242275<p>Path to the directory where the archives will be saved.</p>
     
    248281</div>
    249282<div class="section" id="mailing-lists">
    250 <span id="configuration-daemon-mailing-lists"></span><h3><a class="toc-backref" href="#id27">mailing_lists</a><a class="headerlink" href="#mailing-lists" title="Permalink to this headline">¶</a></h3>
     283<span id="configuration-daemon-mailing-lists"></span><h3><a class="toc-backref" href="#id46">mailing_lists</a><a class="headerlink" href="#mailing-lists" title="Permalink to this headline">¶</a></h3>
    251284<p>This section contains the configuration parameters that set the default
    252285behaviour for mailing lists.</p>
     
    258291<p>These are all the available parameters in this section:</p>
    259292<div class="section" id="private">
    260 <span id="configuration-daemon-mailing-lists-private"></span><h4><a class="toc-backref" href="#id28">private</a><a class="headerlink" href="#private" title="Permalink to this headline">¶</a></h4>
     293<span id="configuration-daemon-mailing-lists-private"></span><h4><a class="toc-backref" href="#id47">private</a><a class="headerlink" href="#private" title="Permalink to this headline">¶</a></h4>
    261294<p>Default: <tt class="docutils literal"><span class="pre">true</span></tt></p>
    262295<p>Sets if a given mailing list is <em>private</em> (only registered members can send
     
    266299</div>
    267300<div class="section" id="members">
    268 <span id="configuration-daemon-members"></span><h3><a class="toc-backref" href="#id29">members</a><a class="headerlink" href="#members" title="Permalink to this headline">¶</a></h3>
     301<span id="configuration-daemon-members"></span><h3><a class="toc-backref" href="#id48">members</a><a class="headerlink" href="#members" title="Permalink to this headline">¶</a></h3>
    269302<p>This section contains the configuration parameters that set the default
    270303behaviour for members.</p>
     
    276309<p>These are all the available parameters in this section:</p>
    277310<div class="section" id="auto-signup">
    278 <span id="configuration-daemon-members-auto-signup"></span><h4><a class="toc-backref" href="#id30">auto_signup</a><a class="headerlink" href="#auto-signup" title="Permalink to this headline">¶</a></h4>
     311<span id="configuration-daemon-members-auto-signup"></span><h4><a class="toc-backref" href="#id49">auto_signup</a><a class="headerlink" href="#auto-signup" title="Permalink to this headline">¶</a></h4>
    279312<p>Default: <tt class="docutils literal"><span class="pre">false</span></tt></p>
    280313<p>Enables/disables auto-registration of members to mailing lists through a public
     
    284317</div>
    285318<div class="section" id="allow-chpasswd">
    286 <span id="configuration-daemon-members-allow-chpasswd"></span><h4><a class="toc-backref" href="#id31">allow_chpasswd</a><a class="headerlink" href="#allow-chpasswd" title="Permalink to this headline">¶</a></h4>
     319<span id="configuration-daemon-members-allow-chpasswd"></span><h4><a class="toc-backref" href="#id50">allow_chpasswd</a><a class="headerlink" href="#allow-chpasswd" title="Permalink to this headline">¶</a></h4>
    287320<p>Default: <tt class="docutils literal"><span class="pre">false</span></tt></p>
    288321<p>Enables/disables the option to update passwords by the members themselves.</p>
     
    290323using a public web interface. If <tt class="docutils literal"><span class="pre">false</span></tt>, only mailing lists administrators
    291324will be able to reset those passwords.</p>
    292 <table class="docutils footnote" frame="void" id="id6" rules="none">
     325</div>
     326</div>
     327</div>
     328<div class="section" id="mailjam-mta-client-configuration-file-mailjam-mta-conf">
     329<span id="configuration-mta-client"></span><h2><a class="toc-backref" href="#id51">Mailjam MTA client configuration file - mailjam-mta.conf</a><a class="headerlink" href="#mailjam-mta-client-configuration-file-mailjam-mta-conf" title="Permalink to this headline">¶</a></h2>
     330<p>This file contains all the parameters to configure the
     331<a class="reference internal" href="overview.html#overview-mailjam-mta-client"><em>MTA client</em></a> properly. It contains ini-style <a class="footnote-reference" href="#id24" id="id6">[1]</a>
     332configuration parameters, separated in different <em>categories</em>.</p>
     333<div class="admonition note">
     334<p class="first admonition-title">Note</p>
     335<p>The mailjam-mta.conf file will be installed in different locations
     336depending on your setup. The usual locations are:</p>
     337<ul class="simple">
     338<li><em>/etc/mailjam/mailjam-mta.conf</em> - In most Linux systems (like archlinux,
     339gentoo, fedora, debian, ubuntu, etc)</li>
     340<li><em>/usr/local/etc/mailjam/mailjam-mta.conf</em> - In most BSD systems (like
     341FreeBSD, OpenBSD, NetBSD, etc)</li>
     342</ul>
     343<p class="last">There is a copy of the configuration file in the <em>conf/</em> directory, within
     344the sources.</p>
     345</div>
     346<div class="section" id="server">
     347<span id="configuration-mta-client-server"></span><h3><a class="toc-backref" href="#id52">server</a><a class="headerlink" href="#server" title="Permalink to this headline">¶</a></h3>
     348<p>This section contains the configuration parameters that tell the MTA client
     349where to connect when trying to interact with the
     350<a class="reference internal" href="overview.html#overview-mailjam-daemon"><em>Mailjam daemon</em></a>.</p>
     351<p>These are all the available parameters in this section:</p>
     352<div class="section" id="configuration-mta-client-server-address">
     353<span id="id7"></span><h4><a class="toc-backref" href="#id53">address</a><a class="headerlink" href="#configuration-mta-client-server-address" title="Permalink to this headline">¶</a></h4>
     354<p>Default: <tt class="docutils literal"><span class="pre">localhost</span></tt></p>
     355<p>The address where the daemon is listening for XMLRPC requests. This is
     356the address to where the client will try to connect to.</p>
     357</div>
     358<div class="section" id="configuration-mta-client-server-port">
     359<span id="id8"></span><h4><a class="toc-backref" href="#id54">port</a><a class="headerlink" href="#configuration-mta-client-server-port" title="Permalink to this headline">¶</a></h4>
     360<p>Default: <tt class="docutils literal"><span class="pre">9876</span></tt></p>
     361<p>The port where the daemon accepts incoming XMLRPC requests. This is the
     362port to where the client will try to connect to.</p>
     363</div>
     364<div class="section" id="uri">
     365<span id="configuration-mta-client-server-uri"></span><h4><a class="toc-backref" href="#id55">uri</a><a class="headerlink" href="#uri" title="Permalink to this headline">¶</a></h4>
     366<p>Default: <a class="reference external" href="http://localhost:9876">http://localhost:9876</a></p>
     367<p>This is the URI <a class="footnote-reference" href="#id27" id="id9">[4]</a> to where the client will connect to. It is constructed
     368based on the values of the <a class="reference internal" href="#configuration-mta-client-server-address"><em>address</em></a>
     369and <a class="reference internal" href="#configuration-mta-client-server-port"><em>port</em></a> parameters.</p>
     370<div class="admonition note">
     371<p class="first admonition-title">Note</p>
     372<p>The default configuration file contains a dynamic setting for this
     373parameter:</p>
     374<div class="highlight-python"><pre>uri = http://%(address)s:%(port)s</pre>
     375</div>
     376<p class="last">That means that the parameter will inherit the values from the
     377<a class="reference internal" href="#configuration-mta-client-server-address"><em>address</em></a>
     378and <a class="reference internal" href="#configuration-mta-client-server-port"><em>port</em></a> parameters.</p>
     379</div>
     380<div class="admonition-see-also admonition seealso">
     381<p class="first admonition-title">See also</p>
     382<p>More information about this (and other tricks) here:</p>
     383<p><a class="reference external" href="http://docs.python.org/library/configparser.html">http://docs.python.org/library/configparser.html</a></p>
     384<p class="last"><a class="reference external" href="http://www.doughellmann.com/PyMOTW/ConfigParser">http://www.doughellmann.com/PyMOTW/ConfigParser</a></p>
     385</div>
     386<div class="admonition warning">
     387<p class="first admonition-title">Warning</p>
     388<p class="last">You can replace this with any URI you would like, <strong>this is the parameter
     389that is really used for establishing new connections</strong> so be aware that if
     390you remove the references to the
     391<a class="reference internal" href="#configuration-mta-client-server-address"><em>address</em></a> and
     392<a class="reference internal" href="#configuration-mta-client-server-port"><em>port</em></a> parameters, the values you have
     393provided for those parameters will be ignored.</p>
     394</div>
     395</div>
     396<div class="section" id="configuration-mta-client-server-ssl">
     397<span id="id10"></span><h4><a class="toc-backref" href="#id56">ssl</a><a class="headerlink" href="#configuration-mta-client-server-ssl" title="Permalink to this headline">¶</a></h4>
     398<p>Default: <tt class="docutils literal"><span class="pre">false</span></tt> (because ssl support hasn&#8217;t been added yet)</p>
     399<p>Enables/disables SSL <a class="footnote-reference" href="#id26" id="id11">[3]</a> connections to the daemon. If <tt class="docutils literal"><span class="pre">false</span></tt> all the
     400traffic to/from the server will travel unencrypted. If <tt class="docutils literal"><span class="pre">true</span></tt> all the traffic
     401will travel encrypted.</p>
     402<div class="admonition warning">
     403<p class="first admonition-title">Warning</p>
     404<p class="last">In order to enable SSL support in the client, you have to be sure the
     405<a class="reference internal" href="overview.html#overview-mailjam-daemon"><em>Mailjam daemon</em></a> supports SSL too (check the
     406<a class="reference internal" href="#configuration-daemon-xmlrpc-ssl"><em>ssl</em></a> parameter in the
     407<a class="reference internal" href="#configuration-daemon-xmlrpc"><em>xmlrpc_server</em></a> section of the
     408<a class="reference internal" href="#configuration-daemon"><em>daemon configuration file</em></a>)</p>
     409</div>
     410</div>
     411</div>
     412<div class="section" id="configuration-mta-client-archive">
     413<span id="id12"></span><h3><a class="toc-backref" href="#id57">archive</a><a class="headerlink" href="#configuration-mta-client-archive" title="Permalink to this headline">¶</a></h3>
     414<p>This section contains the configuration parameters that set where the files
     415generated by the client will be stored/saved.</p>
     416<div class="admonition-see-also admonition seealso">
     417<p class="first admonition-title">See also</p>
     418<p class="last">For more information about the kind of files the client does generate,
     419take a look at the
     420<a class="reference internal" href="overview.html#overview-mailjam-mta-client"><em>MTA client documentation</em></a>.</p>
     421</div>
     422<p>These are all the available parameters in this section:</p>
     423<div class="section" id="persistent">
     424<span id="configurtion-mta-client-archive-persistent"></span><h4><a class="toc-backref" href="#id58">persistent</a><a class="headerlink" href="#persistent" title="Permalink to this headline">¶</a></h4>
     425<p>Default: <tt class="docutils literal"><span class="pre">true</span></tt></p>
     426<p>Enables/disables the local archive for the client. If <tt class="docutils literal"><span class="pre">true</span></tt>, the client
     427will save a copy of every email sent to the list in an internal archive,
     428that could be checked/queried later. If <tt class="docutils literal"><span class="pre">false</span></tt>, the emails will not be
     429kept on disk after being processed.</p>
     430<div class="admonition warning">
     431<p class="first admonition-title">Warning</p>
     432<p class="last">This feature is not ready yet.</p>
     433</div>
     434</div>
     435<div class="section" id="configuration-mta-client-archive-path">
     436<span id="id13"></span><h4><a class="toc-backref" href="#id59">path</a><a class="headerlink" href="#configuration-mta-client-archive-path" title="Permalink to this headline">¶</a></h4>
     437<p>Default: <tt class="docutils literal"><span class="pre">/usr/local/mailjam/archive-mta</span></tt></p>
     438<p>Path to the directory where the archives will be saved.</p>
     439<div class="admonition warning">
     440<p class="first admonition-title">Warning</p>
     441<p class="last">This feature is not ready yet.</p>
     442</div>
     443</div>
     444</div>
     445</div>
     446<div class="section" id="mailjam-cli-client-configuration-file-mailjam-cli-conf">
     447<span id="configuration-cli-client"></span><h2><a class="toc-backref" href="#id60">Mailjam CLI client configuration file - mailjam-cli.conf</a><a class="headerlink" href="#mailjam-cli-client-configuration-file-mailjam-cli-conf" title="Permalink to this headline">¶</a></h2>
     448<p>This file contains all the parameters to configure the
     449<a class="reference internal" href="overview.html#overview-mailjam-cli-client"><em>CLI client</em></a> properly. It contains ini-style <a class="footnote-reference" href="#id24" id="id14">[1]</a>
     450configuration parameters, separated in different <em>categories</em>.</p>
     451<div class="admonition note">
     452<p class="first admonition-title">Note</p>
     453<p>The mailjam-cli.conf file will be installed in different locations
     454depending on your setup. The usual locations are:</p>
     455<ul class="simple">
     456<li><em>/etc/mailjam/mailjam-cli.conf</em> - In most Linux systems (like archlinux,
     457gentoo, fedora, debian, ubuntu, etc)</li>
     458<li><em>/usr/local/etc/mailjam/mailjam-cli.conf</em> - In most BSD systems (like
     459FreeBSD, OpenBSD, NetBSD, etc)</li>
     460</ul>
     461<p class="last">There is a copy of the configuration file in the <em>conf/</em> directory, within
     462the sources.</p>
     463</div>
     464<div class="section" id="configuration-cli-client-server">
     465<span id="id15"></span><h3><a class="toc-backref" href="#id61">server</a><a class="headerlink" href="#configuration-cli-client-server" title="Permalink to this headline">¶</a></h3>
     466<p>This section contains the configuration parameters that tell the cli client
     467where to connect when trying to interact with the
     468<a class="reference internal" href="overview.html#overview-mailjam-daemon"><em>Mailjam daemon</em></a>.</p>
     469<p>These are all the available parameters in this section:</p>
     470<div class="section" id="configuration-cli-client-server-address">
     471<span id="id16"></span><h4><a class="toc-backref" href="#id62">address</a><a class="headerlink" href="#configuration-cli-client-server-address" title="Permalink to this headline">¶</a></h4>
     472<p>Default: <tt class="docutils literal"><span class="pre">localhost</span></tt></p>
     473<p>The address where the daemon is listening for XMLRPC requests. This is
     474the address to where the client will try to connect to.</p>
     475</div>
     476<div class="section" id="configuration-cli-client-server-port">
     477<span id="id17"></span><h4><a class="toc-backref" href="#id63">port</a><a class="headerlink" href="#configuration-cli-client-server-port" title="Permalink to this headline">¶</a></h4>
     478<p>Default: <tt class="docutils literal"><span class="pre">9876</span></tt></p>
     479<p>The port where the daemon accepts incoming XMLRPC requests. This is the
     480port to where the client will try to connect to.</p>
     481</div>
     482<div class="section" id="configuration-cli-client-server-uri">
     483<span id="id18"></span><h4><a class="toc-backref" href="#id64">uri</a><a class="headerlink" href="#configuration-cli-client-server-uri" title="Permalink to this headline">¶</a></h4>
     484<p>Default: <a class="reference external" href="http://localhost:9876">http://localhost:9876</a></p>
     485<p>This is the URI <a class="footnote-reference" href="#id27" id="id19">[4]</a> to where the client will connect to. It is constructed
     486based on the values of the <a class="reference internal" href="#configuration-cli-client-server-address"><em>address</em></a>
     487and <a class="reference internal" href="#configuration-cli-client-server-port"><em>port</em></a> parameters.</p>
     488<div class="admonition note">
     489<p class="first admonition-title">Note</p>
     490<p>The default configuration file contains a dynamic setting for this
     491parameter:</p>
     492<div class="highlight-python"><pre>uri = http://%(address)s:%(port)s</pre>
     493</div>
     494<p class="last">That means that the parameter will inherit the values from the
     495<a class="reference internal" href="#configuration-cli-client-server-address"><em>address</em></a>
     496and <a class="reference internal" href="#configuration-cli-client-server-port"><em>port</em></a> parameters.</p>
     497</div>
     498<div class="admonition-see-also admonition seealso">
     499<p class="first admonition-title">See also</p>
     500<p>More information about this (and other tricks) here:</p>
     501<p><a class="reference external" href="http://docs.python.org/library/configparser.html">http://docs.python.org/library/configparser.html</a></p>
     502<p class="last"><a class="reference external" href="http://www.doughellmann.com/PyMOTW/ConfigParser">http://www.doughellmann.com/PyMOTW/ConfigParser</a></p>
     503</div>
     504<div class="admonition warning">
     505<p class="first admonition-title">Warning</p>
     506<p class="last">You can replace this with any URI you would like, <strong>this is the parameter
     507that is really used for establishing new connections</strong> so be aware that if
     508you remove the references to the
     509<a class="reference internal" href="#configuration-cli-client-server-address"><em>address</em></a> and
     510<a class="reference internal" href="#configuration-cli-client-server-port"><em>port</em></a> parameters, the values you have
     511provided for those parameters will be ignored.</p>
     512</div>
     513</div>
     514<div class="section" id="configuration-cli-client-server-ssl">
     515<span id="id20"></span><h4><a class="toc-backref" href="#id65">ssl</a><a class="headerlink" href="#configuration-cli-client-server-ssl" title="Permalink to this headline">¶</a></h4>
     516<p>Default: <tt class="docutils literal"><span class="pre">false</span></tt> (because ssl support hasn&#8217;t been added yet)</p>
     517<p>Enables/disables SSL <a class="footnote-reference" href="#id26" id="id21">[3]</a> connections to the daemon. If <tt class="docutils literal"><span class="pre">false</span></tt> all the
     518traffic to/from the server will travel unencrypted. If <tt class="docutils literal"><span class="pre">true</span></tt> all the traffic
     519will travel encrypted.</p>
     520<div class="admonition warning">
     521<p class="first admonition-title">Warning</p>
     522<p class="last">In order to enable SSL support in the client, you have to be sure the
     523<a class="reference internal" href="overview.html#overview-mailjam-daemon"><em>Mailjam daemon</em></a> supports SSL too (check the
     524<a class="reference internal" href="#configuration-daemon-xmlrpc-ssl"><em>ssl</em></a> parameter in the
     525<a class="reference internal" href="#configuration-daemon-xmlrpc"><em>xmlrpc_server</em></a> section of the
     526<a class="reference internal" href="#configuration-daemon"><em>daemon configuration file</em></a>)</p>
     527</div>
     528</div>
     529</div>
     530<div class="section" id="history">
     531<span id="configuration-cli-client-history"></span><h3><a class="toc-backref" href="#id66">history</a><a class="headerlink" href="#history" title="Permalink to this headline">¶</a></h3>
     532<p>This section contains the configuration parameters that set the behaviour
     533of the client feature that allows it to save a history of commands provided
     534by the user.</p>
     535<p>These are all the available parameters in this section:</p>
     536<div class="section" id="configurtion-cli-client-archive-enabled">
     537<span id="id22"></span><h4><a class="toc-backref" href="#id67">enabled</a><a class="headerlink" href="#configurtion-cli-client-archive-enabled" title="Permalink to this headline">¶</a></h4>
     538<p>Default: <tt class="docutils literal"><span class="pre">true</span></tt></p>
     539<p>Enables/disables history support in the client. If <tt class="docutils literal"><span class="pre">true</span></tt> all commands
     540provided by an user will be saved to disk. If <tt class="docutils literal"><span class="pre">false</span></tt> nothing will be
     541written to disk.</p>
     542</div>
     543<div class="section" id="configuration-cli-client-history-path">
     544<span id="id23"></span><h4><a class="toc-backref" href="#id68">path</a><a class="headerlink" href="#configuration-cli-client-history-path" title="Permalink to this headline">¶</a></h4>
     545<p>Default: <tt class="docutils literal"><span class="pre">~/.mailjam/cli/history</span></tt></p>
     546<p>Path to the file where the list of executed commands will be saved.</p>
     547<table class="docutils footnote" frame="void" id="id24" rules="none">
    293548<colgroup><col class="label" /><col /></colgroup>
    294549<tbody valign="top">
    295 <tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td><a class="reference external" href="http://en.wikipedia.org/wiki/INI_file">http://en.wikipedia.org/wiki/INI_file</a></td></tr>
     550<tr><td class="label">[1]</td><td><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id6">2</a>, <a class="fn-backref" href="#id14">3</a>)</em> <a class="reference external" href="http://en.wikipedia.org/wiki/INI_file">http://en.wikipedia.org/wiki/INI_file</a></td></tr>
    296551</tbody>
    297552</table>
    298 <table class="docutils footnote" frame="void" id="id7" rules="none">
     553<table class="docutils footnote" frame="void" id="id25" rules="none">
    299554<colgroup><col class="label" /><col /></colgroup>
    300555<tbody valign="top">
     
    302557</tbody>
    303558</table>
    304 <table class="docutils footnote" frame="void" id="id8" rules="none">
     559<table class="docutils footnote" frame="void" id="id26" rules="none">
    305560<colgroup><col class="label" /><col /></colgroup>
    306561<tbody valign="top">
    307 <tr><td class="label"><a class="fn-backref" href="#id3">[3]</a></td><td><a class="reference external" href="http://en.wikipedia.org/wiki/Secure_Socket_Layer">http://en.wikipedia.org/wiki/Secure_Socket_Layer</a></td></tr>
     562<tr><td class="label">[3]</td><td><em>(<a class="fn-backref" href="#id3">1</a>, <a class="fn-backref" href="#id11">2</a>, <a class="fn-backref" href="#id21">3</a>)</em> <a class="reference external" href="http://en.wikipedia.org/wiki/Secure_Socket_Layer">http://en.wikipedia.org/wiki/Secure_Socket_Layer</a></td></tr>
     563</tbody>
     564</table>
     565<table class="docutils footnote" frame="void" id="id27" rules="none">
     566<colgroup><col class="label" /><col /></colgroup>
     567<tbody valign="top">
     568<tr><td class="label">[4]</td><td><em>(<a class="fn-backref" href="#id9">1</a>, <a class="fn-backref" href="#id19">2</a>)</em> <a class="reference external" href="http://en.wikipedia.org/wiki/Uniform_resource_identifier">http://en.wikipedia.org/wiki/Uniform_resource_identifier</a></td></tr>
    308569</tbody>
    309570</table>
     
    322583  <ul>
    323584<li><a class="reference internal" href="#">Configuration</a><ul>
    324 <li><a class="reference internal" href="#mailjam-daemon-configuration-file">Mailjam daemon configuration file</a><ul>
     585<li><a class="reference internal" href="#mailjam-daemon-configuration-file-mailjam-conf">Mailjam daemon configuration file - mailjam.conf</a><ul>
    325586<li><a class="reference internal" href="#xmlrpc-server">xmlrpc_server</a><ul>
    326587<li><a class="reference internal" href="#address">address</a></li>
     
    352613<li><a class="reference internal" href="#auto-signup">auto_signup</a></li>
    353614<li><a class="reference internal" href="#allow-chpasswd">allow_chpasswd</a></li>
     615</ul>
     616</li>
     617</ul>
     618</li>
     619<li><a class="reference internal" href="#mailjam-mta-client-configuration-file-mailjam-mta-conf">Mailjam MTA client configuration file - mailjam-mta.conf</a><ul>
     620<li><a class="reference internal" href="#server">server</a><ul>
     621<li><a class="reference internal" href="#configuration-mta-client-server-address">address</a></li>
     622<li><a class="reference internal" href="#configuration-mta-client-server-port">port</a></li>
     623<li><a class="reference internal" href="#uri">uri</a></li>
     624<li><a class="reference internal" href="#configuration-mta-client-server-ssl">ssl</a></li>
     625</ul>
     626</li>
     627<li><a class="reference internal" href="#configuration-mta-client-archive">archive</a><ul>
     628<li><a class="reference internal" href="#persistent">persistent</a></li>
     629<li><a class="reference internal" href="#configuration-mta-client-archive-path">path</a></li>
     630</ul>
     631</li>
     632</ul>
     633</li>
     634<li><a class="reference internal" href="#mailjam-cli-client-configuration-file-mailjam-cli-conf">Mailjam CLI client configuration file - mailjam-cli.conf</a><ul>
     635<li><a class="reference internal" href="#configuration-cli-client-server">server</a><ul>
     636<li><a class="reference internal" href="#configuration-cli-client-server-address">address</a></li>
     637<li><a class="reference internal" href="#configuration-cli-client-server-port">port</a></li>
     638<li><a class="reference internal" href="#configuration-cli-client-server-uri">uri</a></li>
     639<li><a class="reference internal" href="#configuration-cli-client-server-ssl">ssl</a></li>
     640</ul>
     641</li>
     642<li><a class="reference internal" href="#history">history</a><ul>
     643<li><a class="reference internal" href="#configurtion-cli-client-archive-enabled">enabled</a></li>
     644<li><a class="reference internal" href="#configuration-cli-client-history-path">path</a></li>
    354645</ul>
    355646</li>
  • docs/src/_build/html/examples.html

    r16 r27  
    6060</ul>
    6161</div>
     62<p>TBW</p>
    6263</div>
    6364
  • docs/src/_build/html/index.html

    r16 r27  
    7272</li>
    7373<li class="toctree-l1"><a class="reference internal" href="configuration.html">Configuration</a><ul>
    74 <li class="toctree-l2"><a class="reference internal" href="configuration.html#mailjam-daemon-configuration-file">Mailjam daemon configuration file</a></li>
     74<li class="toctree-l2"><a class="reference internal" href="configuration.html#mailjam-daemon-configuration-file-mailjam-conf">Mailjam daemon configuration file - mailjam.conf</a></li>
     75<li class="toctree-l2"><a class="reference internal" href="configuration.html#mailjam-mta-client-configuration-file-mailjam-mta-conf">Mailjam MTA client configuration file - mailjam-mta.conf</a></li>
     76<li class="toctree-l2"><a class="reference internal" href="configuration.html#mailjam-cli-client-configuration-file-mailjam-cli-conf">Mailjam CLI client configuration file - mailjam-cli.conf</a></li>
    7577</ul>
    7678</li>
    77 <li class="toctree-l1"><a class="reference internal" href="running.html">Running Mailjam</a></li>
     79<li class="toctree-l1"><a class="reference internal" href="running.html">Running Mailjam</a><ul>
     80<li class="toctree-l2"><a class="reference internal" href="running.html#the-daemon">The daemon</a></li>
     81<li class="toctree-l2"><a class="reference internal" href="running.html#the-cli-client">The CLI client</a></li>
     82<li class="toctree-l2"><a class="reference internal" href="running.html#the-mta-client">The MTA client</a></li>
     83<li class="toctree-l2"><a class="reference internal" href="running.html#the-web-client">The Web client</a></li>
     84</ul>
     85</li>
    7886<li class="toctree-l1"><a class="reference internal" href="examples.html">Some examples</a></li>
    7987<li class="toctree-l1"><a class="reference internal" href="development.html">Developers documentation</a></li>
  • docs/src/_build/html/install.html

    r16 r27  
    5353           
    5454  <div class="section" id="installation-instructions">
    55 <h1><a class="toc-backref" href="#id3">Installation instructions</a><a class="headerlink" href="#installation-instructions" title="Permalink to this headline">¶</a></h1>
     55<h1><a class="toc-backref" href="#id9">Installation instructions</a><a class="headerlink" href="#installation-instructions" title="Permalink to this headline">¶</a></h1>
     56<p>Installing Mailjam is quite easy. If you have some experience installing
     57<a class="reference external" href="http://python.org">Python</a> packages <a class="footnote-reference" href="#id5" id="id1">[1]</a>, you already know how to do it. Mailjam is a standard
     58<a class="reference external" href="http://python.org">Python</a> package available on <a class="reference external" href="http://pypi.python.org/pypi">pypi</a> <a class="footnote-reference" href="#id7" id="id2">[3]</a> so just use your favourite tool
     59(<a class="reference external" href="http://www.pip-installer.org/en/latest/index.html">pip</a>, <a class="reference external" href="http://peak.telecommunity.com/DevCenter/EasyInstall">easy_install</a>, etc) to intall it.</p>
     60<p>Keep reading if you want to learn more about the different options/choices
     61you have when installing Mailjam.</p>
    5662<div class="contents topic" id="contents">
    5763<p class="topic-title first">Contents</p>
    5864<ul class="simple">
    59 <li><a class="reference internal" href="#installation-instructions" id="id3">Installation instructions</a><ul>
    60 <li><a class="reference internal" href="#first-install-dependencies" id="id4">First, install dependencies</a></li>
    61 <li><a class="reference internal" href="#second-install-mailjam" id="id5">Second, install Mailjam</a><ul>
    62 <li><a class="reference internal" href="#installing-using-pip" id="id6">Installing using pip</a></li>
    63 <li><a class="reference internal" href="#installing-using-easy-install" id="id7">Installing using easy_install</a></li>
    64 <li><a class="reference internal" href="#installing-inside-a-virtualenv" id="id8">Installing inside a virtualenv</a></li>
    65 <li><a class="reference internal" href="#installing-from-sources" id="id9">Installing from sources</a><ul>
    66 <li><a class="reference internal" href="#releases" id="id10">Releases</a></li>
    67 <li><a class="reference internal" href="#from-repository" id="id11">From repository</a></li>
    68 </ul>
    69 </li>
    70 </ul>
    71 </li>
    72 <li><a class="reference internal" href="#setting-up-mailjam" id="id12">Setting up Mailjam</a></li>
    73 <li><a class="reference internal" href="#running-mailjam" id="id13">Running Mailjam</a></li>
    74 <li><a class="reference internal" href="#running-tests-developers-only" id="id14">Running tests (developers only)</a></li>
     65<li><a class="reference internal" href="#installation-instructions" id="id9">Installation instructions</a><ul>
     66<li><a class="reference internal" href="#first-install-dependencies" id="id10">First, install dependencies</a></li>
     67<li><a class="reference internal" href="#second-install-mailjam" id="id11">Second, install Mailjam</a><ul>
     68<li><a class="reference internal" href="#installing-using-pip" id="id12">Installing using pip</a></li>
     69<li><a class="reference internal" href="#installing-using-easy-install" id="id13">Installing using easy_install</a></li>
     70<li><a class="reference internal" href="#installing-inside-a-virtualenv" id="id14">Installing inside a virtualenv</a></li>
     71<li><a class="reference internal" href="#installing-from-sources" id="id15">Installing from sources</a><ul>
     72<li><a class="reference internal" href="#releases" id="id16">Releases</a></li>
     73<li><a class="reference internal" href="#from-repository" id="id17">From repository</a></li>
     74</ul>
     75</li>
     76</ul>
     77</li>
     78<li><a class="reference internal" href="#setting-up-mailjam" id="id18">Setting up Mailjam</a></li>
     79<li><a class="reference internal" href="#running-mailjam" id="id19">Running Mailjam</a></li>
     80<li><a class="reference internal" href="#running-tests-developers-only" id="id20">Running tests (developers only)</a></li>
    7581</ul>
    7682</li>
     
    7884</div>
    7985<div class="section" id="first-install-dependencies">
    80 <span id="install-dependencies"></span><h2><a class="toc-backref" href="#id4">First, install dependencies</a><a class="headerlink" href="#first-install-dependencies" title="Permalink to this headline">¶</a></h2>
     86<span id="install-dependencies"></span><h2><a class="toc-backref" href="#id10">First, install dependencies</a><a class="headerlink" href="#first-install-dependencies" title="Permalink to this headline">¶</a></h2>
    8187<p>So far, the only dependency you will need in order to run mailjam is <a class="reference external" href="http://python.org">Python</a></p>
    8288<p>Mailjam has been tested with python <em>2.7.x</em>, but it should work with versions
    8389<em>2.6.x</em> too.</p>
    84 <p>Please, refer to your operating system package system documentation to learn
    85 more about how to install python.</p>
     90<p>Please, refer to your operating system documentation to learn more about how
     91to install python.</p>
    8692</div>
    8793<div class="section" id="second-install-mailjam">
    88 <span id="install-mailjam"></span><h2><a class="toc-backref" href="#id5">Second, install Mailjam</a><a class="headerlink" href="#second-install-mailjam" title="Permalink to this headline">¶</a></h2>
     94<span id="install-mailjam"></span><h2><a class="toc-backref" href="#id11">Second, install Mailjam</a><a class="headerlink" href="#second-install-mailjam" title="Permalink to this headline">¶</a></h2>
     95<p>You can install Mailjam using one of the available tools for installing <a class="reference external" href="http://python.org">Python</a>
     96packages, or you can install it from sources. Keep reading to learn more about
     97it.</p>
    8998<div class="section" id="installing-using-pip">
    90 <span id="install-with-pip"></span><h3><a class="toc-backref" href="#id6">Installing using pip</a><a class="headerlink" href="#installing-using-pip" title="Permalink to this headline">¶</a></h3>
     99<span id="install-with-pip"></span><h3><a class="toc-backref" href="#id12">Installing using pip</a><a class="headerlink" href="#installing-using-pip" title="Permalink to this headline">¶</a></h3>
    91100<p>You can install Mailjam using <a class="reference external" href="http://www.pip-installer.org/en/latest/index.html">pip</a>:</p>
    92 <div class="highlight-python"><pre>pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam</pre>
    93 </div>
    94 <div class="admonition note">
    95 <p class="first admonition-title">Note</p>
    96 <p class="last">Mailjam has not been recorded/uploaded to <a class="reference external" href="http://pypi.python.org/pypi">pypi</a> yet, so, in order to install
    97 it using pip you will have to provide the URL for the public Mailjam repo.</p>
     101<div class="highlight-python"><pre>pip install Mailjam</pre>
     102</div>
     103<div class="admonition note">
     104<p class="first admonition-title">Note</p>
     105<p>The previous command will install the latest release from <a class="reference external" href="http://pypi.python.org/pypi">pypi</a>. If you
     106would like to install the latest <em>bleeding edge</em> sources (unstable code),
     107you can do it using <a class="reference external" href="http://www.pip-installer.org/en/latest/index.html">pip</a> too:</p>
     108<div class="last highlight-python"><pre>pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam</pre>
     109</div>
    98110</div>
    99111</div>
    100112<div class="section" id="installing-using-easy-install">
    101 <span id="install-with-easy-install"></span><h3><a class="toc-backref" href="#id7">Installing using easy_install</a><a class="headerlink" href="#installing-using-easy-install" title="Permalink to this headline">¶</a></h3>
    102 <p>You can not install Mailjam using <a class="reference external" href="http://peak.telecommunity.com/DevCenter/EasyInstall">easy_install</a> yet (until we do record/upload
    103 it to pypi)</p>
     113<span id="install-with-easy-install"></span><h3><a class="toc-backref" href="#id13">Installing using easy_install</a><a class="headerlink" href="#installing-using-easy-install" title="Permalink to this headline">¶</a></h3>
     114<p>You can install Mailjam using <a class="reference external" href="http://peak.telecommunity.com/DevCenter/EasyInstall">easy_install</a>:</p>
     115<div class="highlight-python"><pre>easy_install Mailjam</pre>
     116</div>
    104117</div>
    105118<div class="section" id="installing-inside-a-virtualenv">
    106 <span id="install-inside-virtualenv"></span><h3><a class="toc-backref" href="#id8">Installing inside a virtualenv</a><a class="headerlink" href="#installing-inside-a-virtualenv" title="Permalink to this headline">¶</a></h3>
     119<span id="install-inside-virtualenv"></span><h3><a class="toc-backref" href="#id14">Installing inside a virtualenv</a><a class="headerlink" href="#installing-inside-a-virtualenv" title="Permalink to this headline">¶</a></h3>
    107120<p>You can install Mailjam inside a <a class="reference external" href="http://www.virtualenv.org/en/latest/index.html">virtualenv</a>. Just create a virtualenv:</p>
    108121<div class="highlight-python"><div class="highlight"><pre><span class="n">virtualenv</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">your</span><span class="o">/</span><span class="n">env</span>
     
    122135</div>
    123136<p>And, once the environment has been activated, use pip to install Mailjam:</p>
    124 <div class="highlight-python"><pre>env$ pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam</pre>
     137<div class="highlight-python"><pre>env$ pip install Mailjam</pre>
     138</div>
     139<div class="admonition note">
     140<p class="first admonition-title">Note</p>
     141<p>Remember that you can install the latest <em>bleeding edge</em> version using
     142<a class="reference external" href="http://www.pip-installer.org/en/latest/index.html">pip</a> too:</p>
     143<div class="last highlight-python"><pre>env$ pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam</pre>
     144</div>
    125145</div>
    126146</div>
    127147<div class="section" id="installing-from-sources">
    128 <span id="install-from-sources"></span><h3><a class="toc-backref" href="#id9">Installing from sources</a><a class="headerlink" href="#installing-from-sources" title="Permalink to this headline">¶</a></h3>
     148<span id="install-from-sources"></span><h3><a class="toc-backref" href="#id15">Installing from sources</a><a class="headerlink" href="#installing-from-sources" title="Permalink to this headline">¶</a></h3>
    129149<p>When installing from sources, you can download one of the official releases
    130150or you can go with the <em>bleeding edge</em> and get a copy of the official source
    131151code repository.</p>
    132152<div class="section" id="releases">
    133 <span id="install-from-release"></span><h4><a class="toc-backref" href="#id10">Releases</a><a class="headerlink" href="#releases" title="Permalink to this headline">¶</a></h4>
    134 <p><strong>There are no releases yet</strong>. You will have to install it from the repository.</p>
    135 </div>
    136 <div class="section" id="from-repository">
    137 <span id="install-from-repository"></span><h4><a class="toc-backref" href="#id11">From repository</a><a class="headerlink" href="#from-repository" title="Permalink to this headline">¶</a></h4>
    138 <p>The source code of Mailjam is hosted in <a class="reference external" href="https://bitbucket.org">bitbucket</a> <a class="footnote-reference" href="#id2" id="id1">[1]</a>. In order to grab
    139 the latest sources you need <a class="reference external" href="http://mercurial.selenic.com">Mercurial</a>.</p>
    140 <p>To get a copy of the sources, just <em>clone</em> the repository:</p>
    141 <div class="highlight-python"><pre>hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo</pre>
    142 </div>
    143 <p>Then, go inside the <em>mailjam-repo</em> directory and run:</p>
     153<span id="install-from-release"></span><h4><a class="toc-backref" href="#id16">Releases</a><a class="headerlink" href="#releases" title="Permalink to this headline">¶</a></h4>
     154<p>You can grab a copy of the latest release from <a class="reference external" href="http://pypi.python.org/pypi">pypi</a>:</p>
     155<p><a class="reference external" href="http://pypi.python.org/packages/source/m/mailjam/">http://pypi.python.org/packages/source/m/mailjam/</a></p>
     156<p>After downloaded, you have to unpack the sources:</p>
     157<div class="highlight-python"><pre>tar -zxvvf mailjam-0.1.0.tar.gz</pre>
     158</div>
     159<p>This will create a directory called <em>mailjam-0.1.0</em>, go inside that directory
     160and run:</p>
    144161<div class="highlight-python"><pre>python setup.py install</pre>
    145162</div>
     
    155172</div>
    156173</div>
     174<div class="section" id="from-repository">
     175<span id="install-from-repository"></span><h4><a class="toc-backref" href="#id17">From repository</a><a class="headerlink" href="#from-repository" title="Permalink to this headline">¶</a></h4>
     176<p>The source code of Mailjam is hosted in <a class="reference external" href="https://bitbucket.org">bitbucket</a> <a class="footnote-reference" href="#id6" id="id3">[2]</a>. In order to grab
     177the latest sources you need <a class="reference external" href="http://mercurial.selenic.com">Mercurial</a>.</p>
     178<p>To get a copy of the sources, just <em>clone</em> the repository:</p>
     179<div class="highlight-python"><pre>hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo</pre>
     180</div>
     181<p>Then, go inside the <em>mailjam-repo</em> directory and run:</p>
     182<div class="highlight-python"><pre>python setup.py install</pre>
     183</div>
     184<div class="admonition warning">
     185<p class="first admonition-title">Warning</p>
     186<p class="last">If you want to install it <em>system-wide</em>, probably you will need <em>root</em>
     187privileges (check your OS documentation to learn more about how to get
     188<em>root</em> privileges - for example using <a class="reference external" href="http://sudo.ws">sudo</a>)</p>
     189</div>
     190<div class="admonition note">
     191<p class="first admonition-title">Note</p>
     192<p class="last">This process will work inside a <a class="reference external" href="http://www.virtualenv.org/en/latest/index.html">virtualenv</a> too.</p>
     193</div>
     194</div>
    157195</div>
    158196</div>
    159197<div class="section" id="setting-up-mailjam">
    160 <span id="install-setting-up-mailjam"></span><h2><a class="toc-backref" href="#id12">Setting up Mailjam</a><a class="headerlink" href="#setting-up-mailjam" title="Permalink to this headline">¶</a></h2>
    161 <p>TBW</p>
     198<span id="install-setting-up-mailjam"></span><h2><a class="toc-backref" href="#id18">Setting up Mailjam</a><a class="headerlink" href="#setting-up-mailjam" title="Permalink to this headline">¶</a></h2>
     199<p>In order to setup Mailjam, you will have to create the needed
     200<a class="reference internal" href="configuration.html"><em>configuration files</em></a>. Each component has its own
     201configuration file:</p>
     202<ul class="simple">
     203<li>The <a class="reference internal" href="overview.html#overview-mailjam-daemon"><em>Mailjam daemon</em></a> configuration file is
     204<a class="reference internal" href="configuration.html#configuration-daemon"><em>mailjam.conf</em></a></li>
     205<li>The <a class="reference internal" href="overview.html#overview-mailjam-mta-client"><em>Mailjam MTA client</em></a> configuration
     206file is <a class="reference internal" href="configuration.html#configuration-mta-client"><em>mailjam-mta.conf</em></a></li>
     207<li>The <a class="reference internal" href="overview.html#overview-mailjam-cli-client"><em>Mailjam CLI client</em></a> configuration
     208file is <a class="reference internal" href="configuration.html#configuration-cli-client"><em>mailjam-cli.conf</em></a></li>
     209</ul>
     210<p>Refer to each configuration file documentation to learn more about the different
     211settings you can customize.</p>
     212<p>Each component will search for its configuration file in a list of predefined
     213locations, but you can override that behaviour using the <em>-c</em> parameter when
     214starting the component.</p>
     215<div class="admonition note">
     216<p class="first admonition-title">Note</p>
     217<p>Mailjam will search for the config files, in order, through the following
     218paths:</p>
     219<ol class="last arabic simple">
     220<li>/etc/mailjam</li>
     221<li>/etc</li>
     222<li>/usr/local/etc/mailjam</li>
     223<li>/usr/local/etc</li>
     224<li>the <em>conf</em> directory within the sources (or the installed <em>egg</em> <a class="footnote-reference" href="#id8" id="id4">[4]</a>)</li>
     225</ol>
     226</div>
     227<p>For example, you can start the <a class="reference internal" href="overview.html#overview-mailjam-daemon"><em>Mailjam daemon</em></a> passing
     228<em>/var/db/mailjam/mailjam.conf</em> as its configuration file:</p>
     229<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">server</span> <span class="o">-</span><span class="n">c</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">db</span><span class="o">/</span><span class="n">mailjam</span><span class="o">/</span><span class="n">mailjam</span><span class="o">.</span><span class="n">conf</span>
     230</pre></div>
     231</div>
     232<div class="admonition-see-also admonition seealso">
     233<p class="first admonition-title">See also</p>
     234<p class="last"><a class="reference internal" href="running.html"><em>Running Mailjam</em></a> contains more information about how to run the different
     235components.</p>
     236</div>
     237<p>If you have installed Mailjam using <a class="reference external" href="http://www.pip-installer.org/en/latest/index.html">pip</a>, <a class="reference external" href="http://peak.telecommunity.com/DevCenter/EasyInstall">easy_install</a> or even from sources,
     238the setup process should have taken care of the configuration files, adding
     239a copy of the default files included in the sources to the default
     240destination.</p>
     241<div class="admonition warning">
     242<p class="first admonition-title">Warning</p>
     243<p class="last">The default destination will be different based on your operating system.
     244For example, in most linux servers it will copy the files to <em>/etc/mailjam</em>,
     245while in BSD servers it will copy the files to <em>/usr/local/etc/mailjam</em>.</p>
     246</div>
     247<div class="admonition-see-also admonition seealso">
     248<p class="first admonition-title">See also</p>
     249<p class="last"><a class="reference internal" href="configuration.html"><em>Configuration files, settings and formats documentation</em></a></p>
     250</div>
    162251</div>
    163252<div class="section" id="running-mailjam">
    164 <span id="install-running-mailjam"></span><h2><a class="toc-backref" href="#id13">Running Mailjam</a><a class="headerlink" href="#running-mailjam" title="Permalink to this headline">¶</a></h2>
    165 <p>TBW</p>
     253<span id="install-running-mailjam"></span><h2><a class="toc-backref" href="#id19">Running Mailjam</a><a class="headerlink" href="#running-mailjam" title="Permalink to this headline">¶</a></h2>
     254<p>In order to run a full Mailjam environment, you will have to start the different
     255components separately:</p>
     256<ol class="arabic simple">
     257<li><a class="reference internal" href="running.html#running-daemon"><em>Start the daemon</em></a></li>
     258<li><a class="reference internal" href="running.html#running-cli-client"><em>Run the cli client and manage your mailing lists</em></a></li>
     259<li><a class="reference internal" href="running.html#running-mta-client"><em>Add as much MTA clients as you need to your mail server</em></a></li>
     260</ol>
     261<p>The daemon will have to be running all the time (it is the component responsible
     262for providing information to the clients). You will need the CLI client to add,
     263edit or delete mailing lists and each MTA client will be responsible to handle
     264incoming emails for each mailing list.</p>
    166265</div>
    167266<div class="section" id="running-tests-developers-only">
    168 <span id="install-running-tests"></span><h2><a class="toc-backref" href="#id14">Running tests (developers only)</a><a class="headerlink" href="#running-tests-developers-only" title="Permalink to this headline">¶</a></h2>
    169 <p>TBW</p>
    170 <table class="docutils footnote" frame="void" id="id2" rules="none">
     267<span id="install-running-tests"></span><h2><a class="toc-backref" href="#id20">Running tests (developers only)</a><a class="headerlink" href="#running-tests-developers-only" title="Permalink to this headline">¶</a></h2>
     268<p>Just in case you were wondering, <strong>yes</strong>, Mailjam code has some tests you can
     269run to check everything is ok and that the software should run smoothly on your
     270server(s).</p>
     271<p>To run the tests, simply get a copy of the sources from our public repository:</p>
     272<div class="highlight-python"><pre>hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo</pre>
     273</div>
     274<p>then run the tests:</p>
     275<div class="highlight-python"><pre>cd mailjam-repo &amp;&amp; ./bin/run_tests</pre>
     276</div>
     277<table class="docutils footnote" frame="void" id="id5" rules="none">
    171278<colgroup><col class="label" /><col /></colgroup>
    172279<tbody valign="top">
    173 <tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td><a class="reference external" href="https://bitbucket.org/codigo23/mailjam">https://bitbucket.org/codigo23/mailjam</a></td></tr>
     280<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td><a class="reference external" href="http://docs.python.org/tutorial/modules.html#packages">http://docs.python.org/tutorial/modules.html#packages</a></td></tr>
     281</tbody>
     282</table>
     283<table class="docutils footnote" frame="void" id="id6" rules="none">
     284<colgroup><col class="label" /><col /></colgroup>
     285<tbody valign="top">
     286<tr><td class="label"><a class="fn-backref" href="#id3">[2]</a></td><td><a class="reference external" href="https://bitbucket.org/codigo23/mailjam">https://bitbucket.org/codigo23/mailjam</a></td></tr>
     287</tbody>
     288</table>
     289<table class="docutils footnote" frame="void" id="id7" rules="none">
     290<colgroup><col class="label" /><col /></colgroup>
     291<tbody valign="top">
     292<tr><td class="label"><a class="fn-backref" href="#id2">[3]</a></td><td><a class="reference external" href="http://pypi.python.org/pypi/mailjam">http://pypi.python.org/pypi/mailjam</a></td></tr>
     293</tbody>
     294</table>
     295<table class="docutils footnote" frame="void" id="id8" rules="none">
     296<colgroup><col class="label" /><col /></colgroup>
     297<tbody valign="top">
     298<tr><td class="label"><a class="fn-backref" href="#id4">[4]</a></td><td><a class="reference external" href="http://svn.python.org/projects/sandbox/trunk/setuptools/doc/formats.txt">http://svn.python.org/projects/sandbox/trunk/setuptools/doc/formats.txt</a></td></tr>
    174299</tbody>
    175300</table>
  • docs/src/_build/html/overview.html

    r16 r27  
    7575<p>This is the scheme of the architecture:</p>
    7676<img alt="Scheme of the architecture behind Mailjam" class="open-fancybox" src="_images/mailjam_architecture.png" />
     77<p>This architecture works for small setups (everything running on a single server)
     78but it works for bigger/larger installations with up to N mail servers, running
     79each server its own <a class="reference internal" href="#overview-mailjam-mta-client"><em>MTA client</em></a> (or multiple instances
     80of it) to connect to N <a class="reference internal" href="#overview-mailjam-daemon"><em>Mailjam daemon</em></a> servers (managed locally
     81or remotely using up to N <a class="reference internal" href="#overview-mailjam-cli-client"><em>CLI client</em></a> or
     82<a class="reference internal" href="#overview-mailjam-web-client"><em>Web client</em></a> instances).</p>
     83<div class="admonition-see-also admonition seealso">
     84<p class="first admonition-title">See also</p>
     85<p class="last"><a class="reference internal" href="examples.html"><em>The examples documentation</em></a> contains some useful examples
     86about different kinds of setups.</p>
     87</div>
    7788</div>
    7889<div class="section" id="mailjam-daemon">
  • docs/src/_build/html/running.html

    r16 r27  
    5353           
    5454  <div class="section" id="running-mailjam">
    55 <h1><a class="toc-backref" href="#id1">Running Mailjam</a><a class="headerlink" href="#running-mailjam" title="Permalink to this headline">¶</a></h1>
     55<h1><a class="toc-backref" href="#id10">Running Mailjam</a><a class="headerlink" href="#running-mailjam" title="Permalink to this headline">¶</a></h1>
     56<p>In order to run Mailjam, you have to run the different components, depending on
     57what you want to do. Basically, you will need to run a server
     58(<a class="reference internal" href="overview.html#overview-mailjam-daemon"><em>Mailjam daemon</em></a>) all the time, then you will need one
     59<a class="reference internal" href="overview.html#overview-mailjam-mta-client"><em>MTA client</em></a> per mailing list.</p>
     60<p>Ocasionally, you will need to add or delete a mailing list, or edit its
     61information, members list, etc. To do that, you will have to run a Mailjam
     62client (either the <a class="reference internal" href="overview.html#overview-mailjam-cli-client"><em>CLI client</em></a> or the
     63<a class="reference internal" href="overview.html#overview-mailjam-web-client"><em>Web client</em></a>).</p>
     64<p>Keep reading if you want to learn more about the way you can start each
     65component, the different arguments/parameters you can provide on startup, etc.</p>
     66<div class="admonition warning">
     67<p class="first admonition-title">Warning</p>
     68<p class="last">Remember that, before being able to run any component, you have to
     69<a class="reference internal" href="install.html#install-setting-up-mailjam"><em>set up proper configuration files</em></a>. You
     70can learn more about Mailjam configuration files in the
     71<a class="reference internal" href="configuration.html"><em>configuration files documentation</em></a>.</p>
     72</div>
    5673<div class="contents topic" id="contents">
    5774<p class="topic-title first">Contents</p>
    5875<ul class="simple">
    59 <li><a class="reference internal" href="#running-mailjam" id="id1">Running Mailjam</a></li>
    60 </ul>
     76<li><a class="reference internal" href="#running-mailjam" id="id10">Running Mailjam</a><ul>
     77<li><a class="reference internal" href="#the-daemon" id="id11">The daemon</a><ul>
     78<li><a class="reference internal" href="#additional-parameters" id="id12">Additional parameters</a><ul>
     79<li><a class="reference internal" href="#help" id="id13">&#8211;help</a></li>
     80<li><a class="reference internal" href="#config" id="id14">&#8211;config</a></li>
     81<li><a class="reference internal" href="#version" id="id15">&#8211;version</a></li>
     82</ul>
     83</li>
     84</ul>
     85</li>
     86<li><a class="reference internal" href="#the-cli-client" id="id16">The CLI client</a></li>
     87<li><a class="reference internal" href="#the-mta-client" id="id17">The MTA client</a><ul>
     88<li><a class="reference internal" href="#quick-configuration-you-are-a-mail-servers-master" id="id18">Quick configuration (you are a mail-servers-master)</a></li>
     89<li><a class="reference internal" href="#explained-configuration-you-really-want-to-know-what-s-happening-here" id="id19">Explained configuration (you really want to know what&#8217;s happening here)</a></li>
     90<li><a class="reference internal" href="#running-mta-client-parameters" id="id20">Additional parameters</a><ul>
     91<li><a class="reference internal" href="#running-mta-client-help" id="id21">&#8211;help</a></li>
     92<li><a class="reference internal" href="#running-mta-client-config" id="id22">&#8211;config</a></li>
     93<li><a class="reference internal" href="#running-mta-client-version" id="id23">&#8211;version</a></li>
     94<li><a class="reference internal" href="#address-required" id="id24">&#8211;address (required)</a></li>
     95<li><a class="reference internal" href="#input" id="id25">&#8211;input</a></li>
     96</ul>
     97</li>
     98</ul>
     99</li>
     100<li><a class="reference internal" href="#the-web-client" id="id26">The Web client</a></li>
     101</ul>
     102</li>
     103</ul>
     104</div>
     105<div class="section" id="the-daemon">
     106<span id="running-daemon"></span><h2><a class="toc-backref" href="#id11">The daemon</a><a class="headerlink" href="#the-daemon" title="Permalink to this headline">¶</a></h2>
     107<p>First component you should start is the <a class="reference internal" href="overview.html#overview-mailjam-daemon"><em>Mailjam daemon</em></a>. It is
     108quite easy, just run this command from a shell/console:</p>
     109<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">server</span>
     110</pre></div>
     111</div>
     112<p>The server process will read the <a class="reference internal" href="configuration.html#configuration-daemon"><em>mailjam.conf</em></a>
     113configuration file, will prepare everything and will start listening for XMLRPC
     114requests on <em>localhost:9876</em></p>
     115<div class="admonition warning">
     116<p class="first admonition-title">Warning</p>
     117<p class="last"><em>localhost:9876</em> is the default value provided by the default configuration
     118files. If you have modified that, it will be a different <em>address:port</em>
     119combination.</p>
     120</div>
     121<div class="admonition warning">
     122<p class="first admonition-title">Warning</p>
     123<p class="last">If you didn&#8217;t add a valid configuration file to one of the
     124<a class="reference internal" href="install.html#install-setting-up-mailjam"><em>default paths</em></a>, the server will refuse to
     125start, giving you an error message.</p>
     126</div>
     127<div class="admonition warning">
     128<p class="first admonition-title">Warning</p>
     129<p class="last">As of the current version of Mailjam, there are no pre-made init scripts that
     130can handle the start/stop/restart of the daemon, but those will be added in
     131one of the future releases.</p>
     132</div>
     133<div class="section" id="additional-parameters">
     134<span id="running-daemon-parameters"></span><h3><a class="toc-backref" href="#id12">Additional parameters</a><a class="headerlink" href="#additional-parameters" title="Permalink to this headline">¶</a></h3>
     135<p>You can pass some parameters to <em>mailjam-server</em> to modify the behaviour of
     136the daemon or get more information.</p>
     137<div class="admonition note">
     138<p class="first admonition-title">Note</p>
     139<p class="last">Remember that the proper way to modify the behaviour of the daemon is
     140editing its configuration file, <a class="reference internal" href="configuration.html#configuration-daemon"><em>mailjam.conf</em></a></p>
     141</div>
     142<div class="section" id="help">
     143<span id="running-daemon-help"></span><h4><a class="toc-backref" href="#id13">&#8211;help</a><a class="headerlink" href="#help" title="Permalink to this headline">¶</a></h4>
     144<p>You can get some help by passing the <em>-h</em> or <em>&#8211;help</em> parameters:</p>
     145<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">server</span> <span class="o">-</span><span class="n">h</span>
     146</pre></div>
     147</div>
     148<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">help</span>
     149</pre></div>
     150</div>
     151</div>
     152<div class="section" id="config">
     153<span id="running-daemon-config"></span><h4><a class="toc-backref" href="#id14">&#8211;config</a><a class="headerlink" href="#config" title="Permalink to this headline">¶</a></h4>
     154<p>You can set the path to the config file the server will load on startup,
     155passing the <em>-c</em> or <em>&#8211;config</em> parameters:</p>
     156<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">server</span> <span class="o">-</span><span class="n">c</span> <span class="o">/</span><span class="n">home</span><span class="o">/</span><span class="n">mailjam</span><span class="o">/</span><span class="n">mailjam</span><span class="o">.</span><span class="n">conf</span>
     157</pre></div>
     158</div>
     159<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">config</span> <span class="o">/</span><span class="n">home</span><span class="o">/</span><span class="n">mailjam</span><span class="o">/</span><span class="n">mailjam</span><span class="o">.</span><span class="n">conf</span>
     160</pre></div>
     161</div>
     162<div class="admonition warning">
     163<p class="first admonition-title">Warning</p>
     164<p class="last">If the file does not exist, or if it is not a valid configuration file,
     165an error will be shown and the daemon will refuse to start.</p>
     166</div>
     167</div>
     168<div class="section" id="version">
     169<span id="running-daemon-version"></span><h4><a class="toc-backref" href="#id15">&#8211;version</a><a class="headerlink" href="#version" title="Permalink to this headline">¶</a></h4>
     170<p>You can check the version of the mailjam server you are trying to run by
     171passing the <em>-v</em> or <em>&#8211;version</em> parameters:</p>
     172<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">server</span> <span class="o">-</span><span class="n">v</span>
     173</pre></div>
     174</div>
     175<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">server</span> <span class="o">--</span><span class="n">version</span>
     176</pre></div>
     177</div>
     178</div>
     179</div>
     180</div>
     181<div class="section" id="the-cli-client">
     182<span id="running-cli-client"></span><h2><a class="toc-backref" href="#id16">The CLI client</a><a class="headerlink" href="#the-cli-client" title="Permalink to this headline">¶</a></h2>
     183</div>
     184<div class="section" id="the-mta-client">
     185<span id="running-mta-client"></span><h2><a class="toc-backref" href="#id17">The MTA client</a><a class="headerlink" href="#the-mta-client" title="Permalink to this headline">¶</a></h2>
     186<p>Once you have your <a class="reference internal" href="#running-daemon"><em>daemon running</em></a>, you have to add
     187as many <a class="reference internal" href="overview.html#overview-mailjam-mta-client"><em>MTA clients</em></a> as mailing lists you
     188want to manage to your mail server.</p>
     189<div class="section" id="quick-configuration-you-are-a-mail-servers-master">
     190<span id="running-mta-client-quick"></span><h3><a class="toc-backref" href="#id18">Quick configuration (you are a mail-servers-master)</a><a class="headerlink" href="#quick-configuration-you-are-a-mail-servers-master" title="Permalink to this headline">¶</a></h3>
     191<p>Edit your mail server aliases file <a class="footnote-reference" href="#id8" id="id1">[1]</a> (probably <em>/etc/aliases</em> or
     192<em>/etc/mail/aliases</em>) and add an entry like:</p>
     193<div class="highlight-python"><pre>list@mydomain.com: "|/usr/local/bin/mailjam-mta -a list@mydomain.com -i -"</pre>
     194</div>
     195<div class="admonition warning">
     196<p class="first admonition-title">Warning</p>
     197<p class="last">replace <em>list&#64;mydomain.com</em> with the real address of your mailing list</p>
     198</div>
     199<div class="admonition warning">
     200<p class="first admonition-title">Warning</p>
     201<p class="last">replace <em>/usr/local/bin/mailjam-mta</em> with the real path to your mailjam-mta
     202installation</p>
     203</div>
     204<p>Rebuild your <em>aliases</em> database:</p>
     205<div class="highlight-python"><div class="highlight"><pre><span class="n">newaliases</span>
     206</pre></div>
     207</div>
     208<div class="admonition warning">
     209<p class="first admonition-title">Warning</p>
     210<p class="last">Refer to your OS documentation to see how you can rebuild <em>aliases</em>. In most
     211unix-like systems it is done by the newaliases <a class="footnote-reference" href="#id9" id="id2">[2]</a> command.</p>
     212</div>
     213</div>
     214<div class="section" id="explained-configuration-you-really-want-to-know-what-s-happening-here">
     215<span id="running-mta-client-explained"></span><h3><a class="toc-backref" href="#id19">Explained configuration (you really want to know what&#8217;s happening here)</a><a class="headerlink" href="#explained-configuration-you-really-want-to-know-what-s-happening-here" title="Permalink to this headline">¶</a></h3>
     216<p>When new messages arrive at your mail server for your mailing list address
     217(let&#8217;s use the example address <em>list&#64;mydomain.com</em>) one of the steps in the
     218process that checks the message, it&#8217;s origin, destination, contents, etc is
     219the step where the mail server checks its internal <em>aliases</em> database, that is,
     220a list of <em>special</em> addresses that, instead of being <em>real</em> addresses, they are
     221related to some other addresses in some way.</p>
     222<p>Most MTAs out there support one very <em>convenient</em> feature that is to <em>pipe</em> the
     223contents of the message (headers and body) to a given shell command. That means
     224that the all the received data will be sent to an external command for it to
     225process such data.</p>
     226<p><strong>Here is where mailjam-mta comes in</strong>.</p>
     227<p>What you have to do is just tell your mail server that all messages with
     228destination <em>list&#64;mydomain.com</em> (to keep using the same example address) will be
     229<em>piped</em> to mailman-mta. The Mailjam MTA client will then know what to do with
     230the message, performing some checks and re-sending it to the proper destinations
     231(the members/suscriptors of the given mailing list).</p>
     232<p>So, first thing you have to find out is <strong>where is your aliases file?</strong>.</p>
     233<p>In unix-like systems, like the different Linux distributions or the different
     234BSD flavours, that file is <em>/etc/mail/aliases</em> or <em>/etc/aliases</em> (usually one is
     235a simbolic link to the other).</p>
     236<div class="admonition note">
     237<p class="first admonition-title">Note</p>
     238<p>Usually the aliases file contains some lines like:</p>
     239<div class="last highlight-python"><pre>MAILER-DAEMON: postmaster
     240postmaster: root</pre>
     241</div>
     242</div>
     243<p>Once you&#8217;ve found out where the file is, edit it and add this line to the bottom
     244of the file:</p>
     245<div class="highlight-python"><pre>list@mydomain.com: "|/usr/local/bin/mailjam-mta -a list@mydomain.com -i -"</pre>
     246</div>
     247<div class="admonition warning">
     248<p class="first admonition-title">Warning</p>
     249<p class="last">replace <em>list&#64;mydomain.com</em> with the real address of your mailing list</p>
     250</div>
     251<div class="admonition warning">
     252<p class="first admonition-title">Warning</p>
     253<p class="last">replace <em>/usr/local/bin/mailjam-mta</em> with the real path to your mailjam-mta
     254installation</p>
     255</div>
     256<p>There you are telling your mail server that any message coming <strong>to</strong>
     257<em>list&#64;mydomain.com</em> will be passed to the mailjam-mta command, passing some
     258parameters to it:</p>
     259<ul class="simple">
     260<li><strong>-a list&#64;mydomain.com</strong> tells mailjam-mta that the message is actually for
     261that mailing list. The MTA client will then use that value to check (against
     262the mailjam daemon) if it is a valid mailing list.</li>
     263<li><strong>-i -</strong> tells mailjam-mta that the message will be <em>piped</em> directly. This is
     264important, as mailjam-mta can read the messages from files, but in this case
     265the mail server will <em>pipe</em> the data directly to mailjam-mta.</li>
     266</ul>
     267<p>Once you&#8217;ve added that line to your <em>aliases</em> file, you have to rebuild your
     268<em>aliases</em> database:</p>
     269<div class="highlight-python"><div class="highlight"><pre><span class="n">newaliases</span>
     270</pre></div>
     271</div>
     272<div class="admonition warning">
     273<p class="first admonition-title">Warning</p>
     274<p class="last">Refer to your OS documentation to see how you can rebuild <em>aliases</em>. In most
     275unix-like systems it is done by the newaliases <a class="footnote-reference" href="#id9" id="id3">[2]</a> command.</p>
     276</div>
     277<p>And you are done. Everything is ready now.</p>
     278</div>
     279<div class="section" id="running-mta-client-parameters">
     280<span id="id4"></span><h3><a class="toc-backref" href="#id20">Additional parameters</a><a class="headerlink" href="#running-mta-client-parameters" title="Permalink to this headline">¶</a></h3>
     281<p>You can pass some parameters to <em>mailjam-mta</em> to modify the behaviour of
     282the client or get more information.</p>
     283<div class="admonition note">
     284<p class="first admonition-title">Note</p>
     285<p class="last">Remember that the proper way to modify the behaviour of the client is
     286editing its configuration file,
     287<a class="reference internal" href="configuration.html#configuration-mta-client"><em>mailjam-mta.conf</em></a></p>
     288</div>
     289<div class="section" id="running-mta-client-help">
     290<span id="id5"></span><h4><a class="toc-backref" href="#id21">&#8211;help</a><a class="headerlink" href="#running-mta-client-help" title="Permalink to this headline">¶</a></h4>
     291<p>You can get some help by passing the <em>-h</em> or <em>&#8211;help</em> parameters:</p>
     292<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">mta</span> <span class="o">-</span><span class="n">h</span>
     293</pre></div>
     294</div>
     295<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">mta</span> <span class="o">--</span><span class="n">help</span>
     296</pre></div>
     297</div>
     298</div>
     299<div class="section" id="running-mta-client-config">
     300<span id="id6"></span><h4><a class="toc-backref" href="#id22">&#8211;config</a><a class="headerlink" href="#running-mta-client-config" title="Permalink to this headline">¶</a></h4>
     301<p>You can set the path to the config file the client will load on startup,
     302passing the <em>-c</em> or <em>&#8211;config</em> parameters:</p>
     303<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">mta</span> <span class="o">-</span><span class="n">c</span> <span class="o">/</span><span class="n">home</span><span class="o">/</span><span class="n">mailjam</span><span class="o">/</span><span class="n">mailjam</span><span class="o">-</span><span class="n">mta</span><span class="o">.</span><span class="n">conf</span>
     304</pre></div>
     305</div>
     306<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">mta</span> <span class="o">--</span><span class="n">config</span> <span class="o">/</span><span class="n">home</span><span class="o">/</span><span class="n">mailjam</span><span class="o">/</span><span class="n">mailjam</span><span class="o">-</span><span class="n">mta</span><span class="o">.</span><span class="n">conf</span>
     307</pre></div>
     308</div>
     309<div class="admonition warning">
     310<p class="first admonition-title">Warning</p>
     311<p class="last">If the file does not exist, or if it is not a valid configuration file,
     312an error will be shown and the client will refuse to start.</p>
     313</div>
     314</div>
     315<div class="section" id="running-mta-client-version">
     316<span id="id7"></span><h4><a class="toc-backref" href="#id23">&#8211;version</a><a class="headerlink" href="#running-mta-client-version" title="Permalink to this headline">¶</a></h4>
     317<p>You can check the version of the mailjam client you are trying to run by
     318passing the <em>-v</em> or <em>&#8211;version</em> parameters:</p>
     319<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">mta</span> <span class="o">-</span><span class="n">v</span>
     320</pre></div>
     321</div>
     322<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">mta</span> <span class="o">--</span><span class="n">version</span>
     323</pre></div>
     324</div>
     325</div>
     326<div class="section" id="address-required">
     327<span id="running-mta-client-address"></span><h4><a class="toc-backref" href="#id24">&#8211;address (required)</a><a class="headerlink" href="#address-required" title="Permalink to this headline">¶</a></h4>
     328<p>This parameter is required (you have to provide it with a value in order to
     329run the mailjam-mta). It sets the address of the mailing list managed by this
     330MTA client instance.</p>
     331<p>The MTA client will use the provided value to do some checks on the daemon,
     332retrieving all the needed data to perform its tasks.</p>
     333<p>You can pass a valid address using both the <em>-a</em> and <em>&#8211;address</em> parameters:</p>
     334<div class="highlight-python"><pre>mailjam-mta -a list@mydomain.com</pre>
     335</div>
     336<div class="highlight-python"><pre>mailjam-mta --address list@mydomain.com</pre>
     337</div>
     338</div>
     339<div class="section" id="input">
     340<span id="running-mta-client-input"></span><h4><a class="toc-backref" href="#id25">&#8211;input</a><a class="headerlink" href="#input" title="Permalink to this headline">¶</a></h4>
     341<p>This parameter tells mailjam-mta from where it has to read the message sent
     342to the mailing list. That could be a local file (to be readed from disk) or
     343a stream of data coming directly from the standard input (<em>stdin</em>).</p>
     344<p>For a regular configuration/setup, the second option is preferred, as the mail
     345server will send the stream of data directly to mailjam-mta (as
     346<a class="reference internal" href="#running-mta-client-explained"><em>explained before</em></a>):</p>
     347<div class="highlight-python"><pre>mailjam-mta -i -</pre>
     348</div>
     349<div class="highlight-python"><pre>mailjam-mta --input -</pre>
     350</div>
     351<p>But perhaps some time you would like to send (again) a message you have on disk,
     352that could be done easily, passing the path to the file containing that message
     353to mailjam-mta:</p>
     354<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">mta</span> <span class="o">-</span><span class="n">i</span> <span class="o">/</span><span class="n">home</span><span class="o">/</span><span class="n">backups</span><span class="o">/</span><span class="n">mail</span><span class="o">/</span><span class="n">that</span><span class="o">-</span><span class="n">important</span><span class="o">-</span><span class="n">mail</span><span class="o">.</span><span class="n">txt</span>
     355</pre></div>
     356</div>
     357<div class="highlight-python"><div class="highlight"><pre><span class="n">mailjam</span><span class="o">-</span><span class="n">mta</span> <span class="o">-</span><span class="nb">input</span> <span class="o">/</span><span class="n">home</span><span class="o">/</span><span class="n">backups</span><span class="o">/</span><span class="n">mail</span><span class="o">/</span><span class="n">that</span><span class="o">-</span><span class="n">important</span><span class="o">-</span><span class="n">mail</span><span class="o">.</span><span class="n">txt</span>
     358</pre></div>
     359</div>
     360</div>
     361</div>
     362</div>
     363<div class="section" id="the-web-client">
     364<span id="running-web-client"></span><h2><a class="toc-backref" href="#id26">The Web client</a><a class="headerlink" href="#the-web-client" title="Permalink to this headline">¶</a></h2>
     365<table class="docutils footnote" frame="void" id="id8" rules="none">
     366<colgroup><col class="label" /><col /></colgroup>
     367<tbody valign="top">
     368<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td><a class="reference external" href="http://en.wikipedia.org/wiki/Email_alias">http://en.wikipedia.org/wiki/Email_alias</a></td></tr>
     369</tbody>
     370</table>
     371<table class="docutils footnote" frame="void" id="id9" rules="none">
     372<colgroup><col class="label" /><col /></colgroup>
     373<tbody valign="top">
     374<tr><td class="label">[2]</td><td><em>(<a class="fn-backref" href="#id2">1</a>, <a class="fn-backref" href="#id3">2</a>)</em> <a class="reference external" href="http://www.freebsd.org/cgi/man.cgi?query=newaliases">http://www.freebsd.org/cgi/man.cgi?query=newaliases</a></td></tr>
     375</tbody>
     376</table>
    61377</div>
    62378</div>
     
    68384      <div class="sphinxsidebar">
    69385        <div class="sphinxsidebarwrapper">
     386  <h3><a href="index.html">Table Of Contents</a></h3>
     387  <ul>
     388<li><a class="reference internal" href="#">Running Mailjam</a><ul>
     389<li><a class="reference internal" href="#the-daemon">The daemon</a><ul>
     390<li><a class="reference internal" href="#additional-parameters">Additional parameters</a><ul>
     391<li><a class="reference internal" href="#help">&#8211;help</a></li>
     392<li><a class="reference internal" href="#config">&#8211;config</a></li>
     393<li><a class="reference internal" href="#version">&#8211;version</a></li>
     394</ul>
     395</li>
     396</ul>
     397</li>
     398<li><a class="reference internal" href="#the-cli-client">The CLI client</a></li>
     399<li><a class="reference internal" href="#the-mta-client">The MTA client</a><ul>
     400<li><a class="reference internal" href="#quick-configuration-you-are-a-mail-servers-master">Quick configuration (you are a mail-servers-master)</a></li>
     401<li><a class="reference internal" href="#explained-configuration-you-really-want-to-know-what-s-happening-here">Explained configuration (you really want to know what&#8217;s happening here)</a></li>
     402<li><a class="reference internal" href="#running-mta-client-parameters">Additional parameters</a><ul>
     403<li><a class="reference internal" href="#running-mta-client-help">&#8211;help</a></li>
     404<li><a class="reference internal" href="#running-mta-client-config">&#8211;config</a></li>
     405<li><a class="reference internal" href="#running-mta-client-version">&#8211;version</a></li>
     406<li><a class="reference internal" href="#address-required">&#8211;address (required)</a></li>
     407<li><a class="reference internal" href="#input">&#8211;input</a></li>
     408</ul>
     409</li>
     410</ul>
     411</li>
     412<li><a class="reference internal" href="#the-web-client">The Web client</a></li>
     413</ul>
     414</li>
     415</ul>
     416
    70417  <h4>Previous topic</h4>
    71418  <p class="topless"><a href="configuration.html"
  • docs/src/_build/html/searchindex.js

    r16 r27  
    1 Search.setIndex({objects:{},terms:{all:[2,6],code:5,identifi:6,edg:5,just:5,tcsh:5,wikipedia:6,offici:[1,5],becaus:6,tcp:2,ssl_kei:6,session:6,through:6,url:5,ini_fil:6,follow:2,netbsd:6,disk:6,ssl_crt:6,dynam:6,paramet:6,xml:6,categori:6,privat:6,password:6,locat:6,cli:[1,2],how:5,configur:[1,6],activ:5,send:6,should:5,add:[2,6],archlinux:6,overview:[1,2],mail:[1,6,2],tell:2,save:[2,6],local:6,latest:5,bin:5,applic:6,them:2,sourc:[6,5],rememb:5,xmlrpc:[2,6],get:5,read:[2,6],auto:6,pypi:5,kind:2,tbw:5,repo:5,ssl:6,traffic:6,enabl:6,now:6,mailing_list:6,introduct:[1,2],daemon:[1,6,2],like:[2,6],specif:6,edit:2,list:[1,6,2],upload:5,server:[2,6],separ:6,provid:5,achiev:2,have:5,contain:6,small:2,privileg:5,grab:5,secure_socket_lay:6,where:6,manag:[1,2],mean:6,wiki:6,certif:6,www:6,set:[1,6,5],members_db:6,some:[1,4,2],see:6,member:[2,6],design:2,download:5,run:[1,3,5],port:[2,6],librari:6,virtualenv:5,index:1,what:2,still:6,postman:[],record:5,freebsd:6,section:6,abl:6,per:6,yet:[6,5],content:[0,1,2,3,4,5,6],delet:2,written:1,version:5,"new":6,"public":[6,5],localhost:6,refer:5,hasn:6,more:[6,5],themselv:6,insid:5,web:[1,6,2],pleas:5,style:6,here:6,behaviour:6,extens:6,host:5,base:6,repositori:5,ubuntu:6,releas:5,depend:[1,6,5],modifi:6,bleed:5,valu:6,about:[6,5],architectur:[1,2],pymotw:6,current:[2,6],doughellmann:6,page:1,configpars:6,etc:[2,6],fals:6,com:6,disabl:6,user:6,oper:[2,5],softwar:1,client:[1,2],note:[6,5],appli:6,modul:1,within:6,por:6,easy_instal:5,three:2,email:[2,6],instruct:[1,5],alreadi:2,messag:6,right:6,linux:6,instal:[1,6,5],storag:[2,6],your:[6,5],backend:[2,6],kei:6,mercuri:5,differ:[2,6],from:[2,6,5],log:6,wai:[6,5],attach:2,interact:2,support:6,regist:6,system:[6,5],been:[2,6,5],avail:6,mailjam:[1,3,6,5,2],json:6,interfac:[2,6],usr:6,"var":6,call:2,scheme:2,type:6,administr:6,store:6,listen:[2,6],shell:[2,5],option:6,python:[1,6,5],copi:[6,5],search:1,warn:[6,5],allow_chpasswd:6,link:2,too:[2,5],webapp:2,given:[2,6],"true":6,those:6,serv:6,wide:5,multi:2,onli:[1,6,5],"default":6,setup:[6,5],work:[6,5],onc:5,second:[1,5],structur:2,until:5,trick:6,matter:6,itself:2,can:[2,6,5],learn:5,mta:[1,2],root:5,html:6,address:6,unencrypt:6,featur:6,openbsd:6,conf:6,creat:5,process:5,sudo:5,ani:6,doesn:6,compon:2,packag:5,archiv:6,exist:6,ini:6,file:[1,6],tabl:1,pip:5,incom:2,path:[6,5],check:[2,5],probabl:5,readi:6,encrypt:6,thei:6,want:5,inform:[2,6],perform:2,allow:2,travel:6,when:[2,6,5],same:[2,6],reset:6,lists_db:6,also:6,need:5,xmlrpc_server:6,anyon:6,env:5,test:[1,5],environ:5,you:[2,6,5],document:[0,1,5],updat:[2,6],regard:2,http:[6,5],hostnam:6,gentoo:6,clone:5,auto_signup:6,most:6,rpc:6,logfil:6,crt:6,bsd:6,develop:[0,1,5],data:[2,6],debian:6,org:[6,5],csh:5,other:6,bitbucket:5,receiv:2,off:6,directori:[6,5],doc:6,later:6,request:[2,6],inherit:6,fedora:6,registr:6,exampl:[1,4,5],codigo23:5,thi:[1,6,5,2],indic:1,far:5,first:[1,5],egg:5,order:5,usual:6},objtypes:{},titles:["Developers documentation","Mailjam official documentation","Overview of mailjam&#8217;s architecture","Running Mailjam","Some examples","Installation instructions","Configuration"],objnames:{},filenames:["development","index","overview","running","examples","install","configuration"]})
     1Search.setIndex({objects:{},terms:{mydomain:3,code:5,edg:5,queri:[3,6],all:[2,3,6,5],follow:[2,5],netbsd:6,disk:[3,6],ssl_crt:6,categori:6,privat:6,depend:[1,3,6,5],newalias:3,send:[3,6],init:3,archlinux:6,sent:[3,6],sourc:[6,5],everi:6,fals:6,simbol:3,veri:3,run_test:5,administr:6,list:[1,3,6,5,2],upload:[],"try":[3,6],small:2,prepar:3,pleas:5,pasa:[],second:[1,3,5],design:2,pass:[3,5],download:5,port:[2,3,6],even:5,index:1,what:[2,3,6],postman:[],section:6,abl:[3,6],current:[2,3,6],delet:[2,3,5],version:[3,5],"new":[3,6],"public":[6,5],hasn:6,full:5,themselv:6,gener:6,here:[3,6],behaviour:[3,6,5],let:3,trunk:5,path:[3,6,5],modifi:[3,6],valu:[3,6],overview_mailjam_cli_cli:[],search:[1,5],larger:2,host:5,appli:6,app:6,prefer:3,unix:3,instal:[1,3,6,5,2],txt:[3,5],establish:6,from:[2,3,6,5],stream:3,would:[3,6,5],regist:6,call:[2,5],usr:[3,6,5],taken:5,type:6,tell:[2,3,6],more:[3,6,5],registr:6,relat:3,warn:[3,6,5],indic:1,unpack:5,retriev:3,setup:[2,3,6,5],work:[2,6,5],histori:6,archiv:6,can:[2,3,6,5],learn:[3,5],root:[3,5],overrid:5,favourit:5,tar:5,give:3,process:[3,6,5],sudo:5,accept:6,want:[3,6,5],multipl:2,csh:5,travel:6,how:[3,5],anyon:6,env:5,instead:3,config:[3,5],updat:[2,6],gentoo:6,stop:3,clone:5,after:[6,5],befor:3,data:[2,3,6],man:3,stdin:3,combin:3,alias:3,sandbox:5,codigo23:5,allow:[2,6],egg:5,order:[3,6,5],origin:3,help:3,offici:[1,5],becaus:6,through:[6,5],still:6,dynam:6,paramet:[3,6,5],style:6,cli:[1,3,6,5,2],mailing_list:6,persist:6,mail:[1,3,6,5,2],them:2,thei:[3,6],uniform_resource_identifi:6,handl:[3,5],auto:6,now:[3,6],bigger:2,introduct:[1,2],choic:5,edit:[2,3,5],didn:3,separ:[6,5],easili:3,achiev:2,each:[2,3,5],found:3,secure_socket_lay:6,mean:[3,6],mailjam:[1,3,6,5,2],replac:[3,6],realli:[3,6],connect:[2,6],our:5,happen:3,special:3,out:3,shown:3,tcsh:5,suscriptor:3,overview_mailjam_mta_cli:[],content:[0,1,2,3,4,5,6],insid:5,given:[2,3,6],standard:[3,5],quick:3,base:[6,5],releas:[3,5],org:[3,6,5],bleed:5,care:5,could:[3,6],refus:3,keep:[3,5],thing:3,perhap:3,first:[1,3,5],oper:[2,5],softwar:[1,5],directli:3,onc:[3,5],instruct:[1,5],alreadi:[2,5],done:3,messag:[3,6],predefin:5,differ:[2,3,6,5],script:3,interact:[2,6],system:[3,6,5],construct:6,mercuri:5,attach:2,master:3,too:[2,6,5],conveni:3,store:6,listen:[2,3,6],shell:[2,3,5],consol:3,option:[3,6,5],tool:5,copi:[6,5],setuptool:5,allow_chpasswd:6,kept:6,zxvvf:5,serv:6,wide:5,kind:[2,6],scheme:2,instanc:[2,3],remot:2,remov:6,requir:3,structur:2,project:5,matter:6,were:5,pre:3,unencrypt:6,argument:3,packag:5,have:[3,6,5],tabl:1,need:[3,6,5],inform:[2,3,6,5],note:[3,6,5],also:[2,6,5],client:[1,3,6,5,2],take:6,environ:5,noth:6,singl:2,sure:6,freebsd:[3,6],previou:5,auto_signup:6,most:[3,6,5],regular:3,bsd:[3,6,5],url:[],doc:[6,5],later:6,request:[2,3,6],uri:6,configguration_xmlrpc:[],pipe:3,latest:5,ssl_kei:6,session:6,find:3,xml:6,configuration_xmlrpc:[],onli:[1,6,5],locat:[6,5],execut:6,explain:3,configur:[1,3,6,5],activ:5,should:[3,5],local:[2,3,6,5],get:[3,5],pypi:5,tbw:4,repo:5,ssl:6,restart:3,enabl:6,crt:6,provid:[3,6,5],contain:[2,3,6,5],privileg:5,grab:5,where:[3,6],wiki:[3,6],certif:6,set:[1,3,6,5],startup:3,see:[2,3,6,5],respons:5,wonder:5,awar:6,databas:3,user:6,wikipedia:[3,6],email_alia:3,written:[1,6],"import":3,experi:5,email:[2,6,5],kei:6,extens:6,webapp:2,come:3,addit:3,bodi:3,pymotw:6,doughellmann:6,against:3,configpars:6,etc:[2,3,6,5],tutori:5,mani:3,com:[3,6],load:3,simpli:5,overview:[1,2],address:[3,6],por:6,arriv:3,header:3,rpc:6,linux:[3,6,5],backend:[2,6],quit:[3,5],mailman:3,rebuild:3,three:2,been:[2,6,5],compon:[2,3,5],json:6,much:5,basic:3,both:3,ani:[3,6],those:[3,6],"case":[3,5],multi:2,look:6,intal:5,trick:6,"while":5,error:3,overview_mailjam_daemon:[],bin:[3,5],readi:[3,6],destin:[3,5],itself:2,conf:[1,3,6,5],incom:[2,6,5],develop:[0,1,5],fedora:6,perform:[2,3],same:[2,3,6],member:[2,3,6],python:[1,6,5],html:[6,5],document:[0,1,2,3,5,6],http:[3,6,5],hostnam:6,logfil:6,extern:3,task:3,off:[],entri:3,inherit:6,exampl:[1,3,4,5,2],command:[3,6,5],thi:[1,3,6,5,2],everyth:[2,3,5],ubuntu:6,usual:[3,6],identifi:6,just:[3,5],tcp:2,yet:6,ocasion:3,web:[1,3,6,2],easi:[3,5],add:[2,3,6,5],valid:3,input:3,save:[2,6],modul:[1,5],real:3,applic:6,xmlrpc:[2,3,6],format:5,read:[2,3,6,5],traffic:6,know:[3,5],password:6,daemon:[1,3,6,5,2],like:[2,3,6,5],specif:6,server:[2,3,6,5],unstabl:5,either:3,manag:[1,3,5,2],www:[3,6],right:6,members_db:6,some:[1,3,4,5,2],intern:[3,6],smoothli:5,proper:3,home:3,librari:6,distribut:3,virtualenv:5,bottom:3,per:[3,6],localhost:[3,6],refer:[3,6,5],cgi:3,run:[1,3,5,2],step:3,repositori:5,about:[2,3,6,5],actual:3,page:1,backup:3,disabl:6,own:[2,5],within:[6,5],easy_instal:5,storag:[2,6],your:[3,6,5],log:6,wai:[3,6,5],support:[3,6],custom:5,avail:[6,5],start:[3,5],interfac:[2,6],includ:5,"var":[6,5],mailer:3,properli:6,regard:2,link:[2,3],line:3,"true":6,reset:6,made:3,flavour:3,"default":[3,6,5],until:[],record:[],below:6,mta:[1,3,6,5,2],postmast:3,featur:[3,6],openbsd:6,ini_fil:6,creat:5,doesn:6,exist:[3,6],ini:6,file:[1,3,6,5],pip:5,doe:[3,6],check:[2,3,6,5],probabl:[3,5],again:3,encrypt:6,when:[2,3,6,5],lists_db:6,other:[3,6],futur:3,rememb:[3,5],varieti:6,test:[1,5],you:[2,3,6,5],architectur:[1,2],debian:6,svn:5,bitbucket:5,receiv:[2,3],directori:[6,5],xmlrpc_server:6,ignor:6,time:[3,5],far:5},objtypes:{},titles:["Developers documentation","Mailjam official documentation","Overview of mailjam&#8217;s architecture","Running Mailjam","Some examples","Installation instructions","Configuration"],objnames:{},filenames:["development","index","overview","running","examples","install","configuration"]})
  • docs/src/configuration.rst

    r16 r27  
    22=============
    33
     4Mailjam has separate configuration files for the different apps (the daemon and
     5the variety of different clients available). Check below to read more about the
     6configuration file you need to modify depending on what you want to do.
     7
    48.. contents::
    59
    610.. _configuration_daemon:
    711
    8 Mailjam daemon configuration file
    9 ---------------------------------
    10 
    11 All the configurations that can be applied to the Mailjam daemon are registered
    12 in the **mailjam.conf** file. That file contains ini-style [1]_ configuration
    13 parameters, separated in different *categories*.
     12Mailjam daemon configuration file - mailjam.conf
     13------------------------------------------------
     14
     15All the configurations that can be applied to the :ref:`overview_mailjam_daemon`
     16are registered in the **mailjam.conf** file. That file contains ini-style [1]_
     17configuration parameters, separated in different *categories*.
    1418
    1519.. note::
     
    1822   your setup. The usual locations are:
    1923
    20    - */etc/mailjam.conf* - In most Linux systems (like archlinux, gentoo,
    21      fedora, debian, ubuntu, etc)
    22 
    23    - */usr/local/etc/mailjam.conf* - In most BSD systems (like FreeBSD, OpenBSD,
    24      NetBSD, etc)
     24   - */etc/mailjam/mailjam.conf* - In most Linux systems (like archlinux,
     25     gentoo, fedora, debian, ubuntu, etc)
     26
     27   - */usr/local/etc/mailjam/mailjam.conf* - In most BSD systems (like FreeBSD,
     28     OpenBSD, NetBSD, etc)
    2529
    2630   There is a copy of the configuration file in the *conf/* directory, within
     
    6266***
    6367
    64 Default: ``off`` (because ssl support hasn't been added yet)
    65 
    66 Enables/disables SSL [3]_ support in the daemon. If ``off`` all the traffic
    67 to/from the server will travel unencrypted. If ``on`` all the traffic will
     68Default: ``false`` (because ssl support hasn't been added yet)
     69
     70Enables/disables SSL [3]_ support in the daemon. If ``false`` all the traffic
     71to/from the server will travel unencrypted. If ``true`` all the traffic will
    6872travel encrypted.
    6973
     
    295299will be able to reset those passwords.
    296300
     301.. _configuration_mta_client:
     302
     303Mailjam MTA client configuration file - mailjam-mta.conf
     304--------------------------------------------------------
     305
     306This file contains all the parameters to configure the
     307:ref:`overview_mailjam_mta_client` properly. It contains ini-style [1]_
     308configuration parameters, separated in different *categories*.
     309
     310.. note::
     311
     312   The mailjam-mta.conf file will be installed in different locations
     313   depending on your setup. The usual locations are:
     314
     315   - */etc/mailjam/mailjam-mta.conf* - In most Linux systems (like archlinux,
     316     gentoo, fedora, debian, ubuntu, etc)
     317
     318   - */usr/local/etc/mailjam/mailjam-mta.conf* - In most BSD systems (like
     319     FreeBSD, OpenBSD, NetBSD, etc)
     320
     321   There is a copy of the configuration file in the *conf/* directory, within
     322   the sources.
     323
     324.. _configuration_mta_client_server:
     325
     326server
     327++++++
     328
     329This section contains the configuration parameters that tell the MTA client
     330where to connect when trying to interact with the
     331:ref:`overview_mailjam_daemon`.
     332
     333These are all the available parameters in this section:
     334
     335.. _configuration_mta_client_server_address:
     336
     337address
     338*******
     339
     340Default: ``localhost``
     341
     342The address where the daemon is listening for XMLRPC requests. This is
     343the address to where the client will try to connect to.
     344
     345.. _configuration_mta_client_server_port:
     346
     347port
     348****
     349
     350Default: ``9876``
     351
     352The port where the daemon accepts incoming XMLRPC requests. This is the
     353port to where the client will try to connect to.
     354
     355.. _configuration_mta_client_server_uri:
     356
     357uri
     358***
     359
     360Default: http://localhost:9876
     361
     362This is the URI [4]_ to where the client will connect to. It is constructed
     363based on the values of the :ref:`configuration_mta_client_server_address`
     364and :ref:`configuration_mta_client_server_port` parameters.
     365
     366.. note::
     367
     368   The default configuration file contains a dynamic setting for this
     369   parameter::
     370
     371     uri = http://%(address)s:%(port)s
     372
     373   That means that the parameter will inherit the values from the
     374   :ref:`configuration_mta_client_server_address`
     375   and :ref:`configuration_mta_client_server_port` parameters.
     376
     377.. seealso::
     378
     379   More information about this (and other tricks) here:
     380
     381   http://docs.python.org/library/configparser.html
     382
     383   http://www.doughellmann.com/PyMOTW/ConfigParser
     384
     385.. warning::
     386
     387   You can replace this with any URI you would like, **this is the parameter
     388   that is really used for establishing new connections** so be aware that if
     389   you remove the references to the
     390   :ref:`configuration_mta_client_server_address` and
     391   :ref:`configuration_mta_client_server_port` parameters, the values you have
     392   provided for those parameters will be ignored.
     393
     394.. _configuration_mta_client_server_ssl:
     395
     396ssl
     397***
     398
     399Default: ``false`` (because ssl support hasn't been added yet)
     400
     401Enables/disables SSL [3]_ connections to the daemon. If ``false`` all the
     402traffic to/from the server will travel unencrypted. If ``true`` all the traffic
     403will travel encrypted.
     404
     405.. warning::
     406
     407   In order to enable SSL support in the client, you have to be sure the
     408   :ref:`overview_mailjam_daemon` supports SSL too (check the
     409   :ref:`configuration_daemon_xmlrpc_ssl` parameter in the
     410   :ref:`configuration_daemon_xmlrpc` section of the
     411   :ref:`daemon configuration file <configuration_daemon>`)
     412
     413.. _configuration_mta_client_archive:
     414
     415archive
     416+++++++
     417
     418This section contains the configuration parameters that set where the files
     419generated by the client will be stored/saved.
     420
     421.. seealso::
     422
     423   For more information about the kind of files the client does generate,
     424   take a look at the
     425   :ref:`MTA client documentation <overview_mailjam_mta_client>`.
     426
     427These are all the available parameters in this section:
     428
     429.. _configurtion_mta_client_archive_persistent:
     430
     431persistent
     432**********
     433
     434Default: ``true``
     435
     436Enables/disables the local archive for the client. If ``true``, the client
     437will save a copy of every email sent to the list in an internal archive,
     438that could be checked/queried later. If ``false``, the emails will not be
     439kept on disk after being processed.
     440 
     441.. warning::
     442
     443   This feature is not ready yet.
     444
     445
     446.. _configuration_mta_client_archive_path:
     447
     448path
     449****
     450
     451Default: ``/usr/local/mailjam/archive-mta``
     452
     453Path to the directory where the archives will be saved.
     454
     455.. warning::
     456
     457   This feature is not ready yet.
     458
     459
     460.. _configuration_cli_client:
     461
     462Mailjam CLI client configuration file - mailjam-cli.conf
     463--------------------------------------------------------
     464
     465This file contains all the parameters to configure the
     466:ref:`overview_mailjam_cli_client` properly. It contains ini-style [1]_
     467configuration parameters, separated in different *categories*.
     468
     469.. note::
     470
     471   The mailjam-cli.conf file will be installed in different locations
     472   depending on your setup. The usual locations are:
     473
     474   - */etc/mailjam/mailjam-cli.conf* - In most Linux systems (like archlinux,
     475     gentoo, fedora, debian, ubuntu, etc)
     476
     477   - */usr/local/etc/mailjam/mailjam-cli.conf* - In most BSD systems (like
     478     FreeBSD, OpenBSD, NetBSD, etc)
     479
     480   There is a copy of the configuration file in the *conf/* directory, within
     481   the sources.
     482
     483.. _configuration_cli_client_server:
     484
     485server
     486++++++
     487
     488This section contains the configuration parameters that tell the cli client
     489where to connect when trying to interact with the
     490:ref:`overview_mailjam_daemon`.
     491
     492These are all the available parameters in this section:
     493
     494.. _configuration_cli_client_server_address:
     495
     496address
     497*******
     498
     499Default: ``localhost``
     500
     501The address where the daemon is listening for XMLRPC requests. This is
     502the address to where the client will try to connect to.
     503
     504.. _configuration_cli_client_server_port:
     505
     506port
     507****
     508
     509Default: ``9876``
     510
     511The port where the daemon accepts incoming XMLRPC requests. This is the
     512port to where the client will try to connect to.
     513
     514.. _configuration_cli_client_server_uri:
     515
     516uri
     517***
     518
     519Default: http://localhost:9876
     520
     521This is the URI [4]_ to where the client will connect to. It is constructed
     522based on the values of the :ref:`configuration_cli_client_server_address`
     523and :ref:`configuration_cli_client_server_port` parameters.
     524
     525.. note::
     526
     527   The default configuration file contains a dynamic setting for this
     528   parameter::
     529
     530     uri = http://%(address)s:%(port)s
     531
     532   That means that the parameter will inherit the values from the
     533   :ref:`configuration_cli_client_server_address`
     534   and :ref:`configuration_cli_client_server_port` parameters.
     535
     536.. seealso::
     537
     538   More information about this (and other tricks) here:
     539
     540   http://docs.python.org/library/configparser.html
     541
     542   http://www.doughellmann.com/PyMOTW/ConfigParser
     543
     544.. warning::
     545
     546   You can replace this with any URI you would like, **this is the parameter
     547   that is really used for establishing new connections** so be aware that if
     548   you remove the references to the
     549   :ref:`configuration_cli_client_server_address` and
     550   :ref:`configuration_cli_client_server_port` parameters, the values you have
     551   provided for those parameters will be ignored.
     552
     553.. _configuration_cli_client_server_ssl:
     554
     555ssl
     556***
     557
     558Default: ``false`` (because ssl support hasn't been added yet)
     559
     560Enables/disables SSL [3]_ connections to the daemon. If ``false`` all the
     561traffic to/from the server will travel unencrypted. If ``true`` all the traffic
     562will travel encrypted.
     563
     564.. warning::
     565
     566   In order to enable SSL support in the client, you have to be sure the
     567   :ref:`overview_mailjam_daemon` supports SSL too (check the
     568   :ref:`configuration_daemon_xmlrpc_ssl` parameter in the
     569   :ref:`configuration_daemon_xmlrpc` section of the
     570   :ref:`daemon configuration file <configuration_daemon>`)
     571
     572.. _configuration_cli_client_history:
     573
     574history
     575+++++++
     576
     577This section contains the configuration parameters that set the behaviour
     578of the client feature that allows it to save a history of commands provided
     579by the user.
     580
     581These are all the available parameters in this section:
     582
     583.. _configurtion_cli_client_archive_enabled:
     584
     585enabled
     586*******
     587
     588Default: ``true``
     589
     590Enables/disables history support in the client. If ``true`` all commands
     591provided by an user will be saved to disk. If ``false`` nothing will be
     592written to disk.
     593
     594.. _configuration_cli_client_history_path:
     595
     596path
     597****
     598
     599Default: ``~/.mailjam/cli/history``
     600
     601Path to the file where the list of executed commands will be saved.
     602
    297603
    298604.. [1] http://en.wikipedia.org/wiki/INI_file
    299605.. [2] http://en.wikipedia.org/wiki/XML-RPC
    300606.. [3] http://en.wikipedia.org/wiki/Secure_Socket_Layer
     607.. [4] http://en.wikipedia.org/wiki/Uniform_resource_identifier
  • docs/src/examples.rst

    r13 r27  
    33
    44.. contents::
     5
     6TBW
  • docs/src/install.rst

    r16 r27  
    22=========================
    33
     4Installing Mailjam is quite easy. If you have some experience installing
     5Python_ packages [1]_, you already know how to do it. Mailjam is a standard
     6Python_ package available on pypi_ [3]_ so just use your favourite tool
     7(pip_, easy_install_, etc) to intall it.
     8
     9Keep reading if you want to learn more about the different options/choices
     10you have when installing Mailjam.
     11
    412.. contents::
    513
     
    1422*2.6.x* too.
    1523
    16 Please, refer to your operating system package system documentation to learn
    17 more about how to install python.
     24Please, refer to your operating system documentation to learn more about how
     25to install python.
    1826
    1927.. _install_mailjam:
     
    2230-----------------------
    2331
     32You can install Mailjam using one of the available tools for installing Python_
     33packages, or you can install it from sources. Keep reading to learn more about
     34it.
     35
    2436.. _install_with_pip:
    2537
     
    2941You can install Mailjam using pip_::
    3042
    31   pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam
    32 
    33 .. note::
    34 
    35    Mailjam has not been recorded/uploaded to pypi_ yet, so, in order to install
    36    it using pip you will have to provide the URL for the public Mailjam repo.
     43  pip install Mailjam
     44
     45.. note::
     46
     47   The previous command will install the latest release from pypi_. If you
     48   would like to install the latest *bleeding edge* sources (unstable code),
     49   you can do it using pip_ too::
     50
     51     pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam
    3752
    3853.. _install_with_easy_install:
     
    4156+++++++++++++++++++++++++++++
    4257
    43 You can not install Mailjam using easy_install_ yet (until we do record/upload
    44 it to pypi)
     58You can install Mailjam using easy_install_::
     59
     60  easy_install Mailjam
    4561
    4662.. _install_inside_virtualenv:
     
    6682And, once the environment has been activated, use pip to install Mailjam::
    6783
    68   env$ pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam
     84  env$ pip install Mailjam
     85
     86.. note::
     87
     88   Remember that you can install the latest *bleeding edge* version using
     89   pip_ too::
     90   
     91     env$ pip install -e https://bitbucket.org/codigo23/mailjam#egg=mailjam
    6992
    7093.. _install_from_sources:
     
    82105********
    83106
    84 **There are no releases yet**. You will have to install it from the repository.
    85 
    86 .. _install_from_repository:
    87 
    88 From repository
    89 ***************
    90 
    91 The source code of Mailjam is hosted in bitbucket_ [1]_. In order to grab
    92 the latest sources you need Mercurial_.
    93 
    94 To get a copy of the sources, just *clone* the repository::
    95 
    96   hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo
    97 
    98 Then, go inside the *mailjam-repo* directory and run::
     107You can grab a copy of the latest release from pypi_:
     108
     109http://pypi.python.org/packages/source/m/mailjam/
     110
     111After downloaded, you have to unpack the sources::
     112
     113  tar -zxvvf mailjam-0.1.0.tar.gz
     114
     115This will create a directory called *mailjam-0.1.0*, go inside that directory
     116and run::
    99117
    100118  python setup.py install
     
    110128   This process will work inside a virtualenv_ too.
    111129
     130.. _install_from_repository:
     131
     132From repository
     133***************
     134
     135The source code of Mailjam is hosted in bitbucket_ [2]_. In order to grab
     136the latest sources you need Mercurial_.
     137
     138To get a copy of the sources, just *clone* the repository::
     139
     140  hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo
     141
     142Then, go inside the *mailjam-repo* directory and run::
     143
     144  python setup.py install
     145
     146.. warning::
     147
     148   If you want to install it *system-wide*, probably you will need *root*
     149   privileges (check your OS documentation to learn more about how to get
     150   *root* privileges - for example using sudo_)
     151
     152.. note::
     153
     154   This process will work inside a virtualenv_ too.
     155
    112156.. _install_setting_up_mailjam:
    113157
     
    115159------------------
    116160
    117 TBW
     161In order to setup Mailjam, you will have to create the needed
     162:doc:`configuration files <configuration>`. Each component has its own
     163configuration file:
     164
     165- The :ref:`Mailjam daemon <overview_mailjam_daemon>` configuration file is
     166  :ref:`mailjam.conf <configuration_daemon>`
     167
     168- The :ref:`Mailjam MTA client <overview_mailjam_mta_client>` configuration
     169  file is :ref:`mailjam-mta.conf <configuration_mta_client>`
     170
     171- The :ref:`Mailjam CLI client <overview_mailjam_cli_client>` configuration
     172  file is :ref:`mailjam-cli.conf <configuration_cli_client>`
     173
     174Refer to each configuration file documentation to learn more about the different
     175settings you can customize.
     176
     177Each component will search for its configuration file in a list of predefined
     178locations, but you can override that behaviour using the *-c* parameter when
     179starting the component.
     180
     181.. note::
     182
     183   Mailjam will search for the config files, in order, through the following
     184   paths:
     185
     186   1. /etc/mailjam
     187
     188   2. /etc
     189
     190   3. /usr/local/etc/mailjam
     191
     192   4. /usr/local/etc
     193
     194   5. the *conf* directory within the sources (or the installed *egg* [4]_)
     195
     196For example, you can start the :ref:`overview_mailjam_daemon` passing
     197*/var/db/mailjam/mailjam.conf* as its configuration file::
     198
     199  mailjam-server -c /var/db/mailjam/mailjam.conf
     200
     201.. seealso::
     202
     203   :doc:`running` contains more information about how to run the different
     204   components.
     205
     206If you have installed Mailjam using pip_, easy_install_ or even from sources,
     207the setup process should have taken care of the configuration files, adding
     208a copy of the default files included in the sources to the default
     209destination.
     210
     211.. warning::
     212
     213   The default destination will be different based on your operating system.
     214   For example, in most linux servers it will copy the files to */etc/mailjam*,
     215   while in BSD servers it will copy the files to */usr/local/etc/mailjam*.
     216
     217.. seealso::
     218
     219   :doc:`Configuration files, settings and formats documentation <configuration>`
     220
    118221
    119222.. _install_running_mailjam:
     
    122225---------------
    123226
    124 TBW
     227In order to run a full Mailjam environment, you will have to start the different
     228components separately:
     229
     2301. :ref:`Start the daemon <running_daemon>`
     231
     2322. :ref:`Run the cli client and manage your mailing lists <running_cli_client>`
     233
     2343. :ref:`Add as much MTA clients as you need to your mail server<running_mta_client>`
     235
     236The daemon will have to be running all the time (it is the component responsible
     237for providing information to the clients). You will need the CLI client to add,
     238edit or delete mailing lists and each MTA client will be responsible to handle
     239incoming emails for each mailing list.
    125240
    126241.. _install_running_tests:
     
    129244-------------------------------
    130245
    131 TBW
     246Just in case you were wondering, **yes**, Mailjam code has some tests you can
     247run to check everything is ok and that the software should run smoothly on your
     248server(s).
     249
     250To run the tests, simply get a copy of the sources from our public repository::
     251
     252  hg clone https://bitbucket.org/codigo23/mailjam mailjam-repo
     253
     254then run the tests::
     255
     256  cd mailjam-repo && ./bin/run_tests
     257
    132258
    133259.. _Python: http://python.org
     
    140266.. _sudo: http://sudo.ws
    141267
    142 .. [1] https://bitbucket.org/codigo23/mailjam
     268.. [1] http://docs.python.org/tutorial/modules.html#packages
     269.. [2] https://bitbucket.org/codigo23/mailjam
     270.. [3] http://pypi.python.org/pypi/mailjam
     271.. [4] http://svn.python.org/projects/sandbox/trunk/setuptools/doc/formats.txt
  • docs/src/overview.rst

    r16 r27  
    1818   :class: open_fancybox
    1919
     20This architecture works for small setups (everything running on a single server)
     21but it works for bigger/larger installations with up to N mail servers, running
     22each server its own :ref:`overview_mailjam_mta_client` (or multiple instances
     23of it) to connect to N :ref:`overview_mailjam_daemon` servers (managed locally
     24or remotely using up to N :ref:`overview_mailjam_cli_client` or
     25:ref:`overview_mailjam_web_client` instances).
     26
     27.. seealso::
     28
     29   :doc:`The examples documentation <examples>` contains some useful examples
     30   about different kinds of setups.
    2031
    2132.. _overview_mailjam_daemon:
  • docs/src/running.rst

    r16 r27  
    22===============
    33
     4In order to run Mailjam, you have to run the different components, depending on
     5what you want to do. Basically, you will need to run a server
     6(:ref:`overview_mailjam_daemon`) all the time, then you will need one
     7:ref:`overview_mailjam_mta_client` per mailing list.
     8
     9Ocasionally, you will need to add or delete a mailing list, or edit its
     10information, members list, etc. To do that, you will have to run a Mailjam
     11client (either the :ref:`CLI client <overview_mailjam_cli_client>` or the
     12:ref:`Web client <overview_mailjam_web_client>`).
     13
     14Keep reading if you want to learn more about the way you can start each
     15component, the different arguments/parameters you can provide on startup, etc.
     16
     17.. warning::
     18
     19   Remember that, before being able to run any component, you have to
     20   :ref:`set up proper configuration files <install_setting_up_mailjam>`. You
     21   can learn more about Mailjam configuration files in the
     22   :doc:`configuration files documentation <configuration>`.
     23
    424.. contents::
     25
     26.. _running_daemon:
     27
     28The daemon
     29----------
     30
     31First component you should start is the :ref:`overview_mailjam_daemon`. It is
     32quite easy, just run this command from a shell/console::
     33
     34  mailjam-server
     35
     36The server process will read the :ref:`mailjam.conf <configuration_daemon>`
     37configuration file, will prepare everything and will start listening for XMLRPC
     38requests on *localhost:9876*
     39
     40.. warning::
     41
     42   *localhost:9876* is the default value provided by the default configuration
     43   files. If you have modified that, it will be a different *address:port*
     44   combination.
     45
     46.. warning::
     47
     48   If you didn't add a valid configuration file to one of the
     49   :ref:`default paths <install_setting_up_mailjam>`, the server will refuse to
     50   start, giving you an error message.
     51
     52.. warning::
     53
     54   As of the current version of Mailjam, there are no pre-made init scripts that
     55   can handle the start/stop/restart of the daemon, but those will be added in
     56   one of the future releases.
     57
     58.. _running_daemon_parameters:
     59
     60Additional parameters
     61+++++++++++++++++++++
     62
     63You can pass some parameters to *mailjam-server* to modify the behaviour of
     64the daemon or get more information.
     65
     66.. note::
     67
     68   Remember that the proper way to modify the behaviour of the daemon is
     69   editing its configuration file, :ref:`mailjam.conf <configuration_daemon>`
     70
     71.. _running_daemon_help:
     72
     73--help
     74******
     75
     76You can get some help by passing the *-h* or *--help* parameters::
     77
     78  mailjam-server -h
     79
     80::
     81
     82  mailjam-server --help
     83
     84.. _running_daemon_config:
     85
     86--config
     87********
     88
     89You can set the path to the config file the server will load on startup,
     90passing the *-c* or *--config* parameters::
     91
     92  mailjam-server -c /home/mailjam/mailjam.conf
     93
     94::
     95
     96  mailjam-server --config /home/mailjam/mailjam.conf
     97 
     98.. warning::
     99
     100   If the file does not exist, or if it is not a valid configuration file,
     101   an error will be shown and the daemon will refuse to start.
     102
     103.. _running_daemon_version:
     104
     105--version
     106*********
     107
     108You can check the version of the mailjam server you are trying to run by
     109passing the *-v* or *--version* parameters::
     110
     111  mailjam-server -v
     112
     113::
     114
     115  mailjam-server --version
     116
     117
     118.. _running_cli_client:
     119
     120The CLI client
     121--------------
     122
     123
     124
     125.. _running_mta_client:
     126
     127The MTA client
     128--------------
     129
     130Once you have your :ref:`daemon running <running_daemon>`, you have to add
     131as many :ref:`MTA clients <overview_mailjam_mta_client>` as mailing lists you
     132want to manage to your mail server.
     133
     134.. _running_mta_client_quick:
     135
     136Quick configuration (you are a mail-servers-master)
     137+++++++++++++++++++++++++++++++++++++++++++++++++++
     138
     139Edit your mail server aliases file [1]_ (probably */etc/aliases* or
     140*/etc/mail/aliases*) and add an entry like::
     141
     142  list@mydomain.com: "|/usr/local/bin/mailjam-mta -a list@mydomain.com -i -"
     143
     144.. warning::
     145   
     146   replace *list@mydomain.com* with the real address of your mailing list
     147
     148.. warning::
     149
     150   replace */usr/local/bin/mailjam-mta* with the real path to your mailjam-mta
     151   installation
     152
     153Rebuild your *aliases* database::
     154
     155  newaliases
     156
     157.. warning::
     158
     159   Refer to your OS documentation to see how you can rebuild *aliases*. In most
     160   unix-like systems it is done by the newaliases [2]_ command.
     161
     162.. _running_mta_client_explained:
     163
     164Explained configuration (you really want to know what's happening here)
     165+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     166
     167When new messages arrive at your mail server for your mailing list address
     168(let's use the example address *list@mydomain.com*) one of the steps in the
     169process that checks the message, it's origin, destination, contents, etc is
     170the step where the mail server checks its internal *aliases* database, that is,
     171a list of *special* addresses that, instead of being *real* addresses, they are
     172related to some other addresses in some way.
     173
     174Most MTAs out there support one very *convenient* feature that is to *pipe* the
     175contents of the message (headers and body) to a given shell command. That means
     176that the all the received data will be sent to an external command for it to
     177process such data.
     178
     179**Here is where mailjam-mta comes in**.
     180
     181What you have to do is just tell your mail server that all messages with
     182destination *list@mydomain.com* (to keep using the same example address) will be
     183*piped* to mailman-mta. The Mailjam MTA client will then know what to do with
     184the message, performing some checks and re-sending it to the proper destinations
     185(the members/suscriptors of the given mailing list).
     186
     187So, first thing you have to find out is **where is your aliases file?**.
     188
     189In unix-like systems, like the different Linux distributions or the different
     190BSD flavours, that file is */etc/mail/aliases* or */etc/aliases* (usually one is
     191a simbolic link to the other).
     192
     193.. note::
     194
     195   Usually the aliases file contains some lines like::
     196
     197     MAILER-DAEMON: postmaster
     198     postmaster: root
     199
     200Once you've found out where the file is, edit it and add this line to the bottom
     201of the file::
     202
     203  list@mydomain.com: "|/usr/local/bin/mailjam-mta -a list@mydomain.com -i -"
     204
     205.. warning::
     206   
     207   replace *list@mydomain.com* with the real address of your mailing list
     208
     209.. warning::
     210
     211   replace */usr/local/bin/mailjam-mta* with the real path to your mailjam-mta
     212   installation
     213
     214There you are telling your mail server that any message coming **to**
     215*list@mydomain.com* will be passed to the mailjam-mta command, passing some
     216parameters to it:
     217
     218- **-a list@mydomain.com** tells mailjam-mta that the message is actually for
     219  that mailing list. The MTA client will then use that value to check (against
     220  the mailjam daemon) if it is a valid mailing list.
     221
     222- **-i -** tells mailjam-mta that the message will be *piped* directly. This is
     223  important, as mailjam-mta can read the messages from files, but in this case
     224  the mail server will *pipe* the data directly to mailjam-mta.
     225
     226Once you've added that line to your *aliases* file, you have to rebuild your
     227*aliases* database::
     228
     229  newaliases
     230
     231.. warning::
     232
     233   Refer to your OS documentation to see how you can rebuild *aliases*. In most
     234   unix-like systems it is done by the newaliases [2]_ command.
     235
     236And you are done. Everything is ready now.
     237
     238.. _running_mta_client_parameters:
     239
     240Additional parameters
     241+++++++++++++++++++++
     242
     243You can pass some parameters to *mailjam-mta* to modify the behaviour of
     244the client or get more information.
     245
     246.. note::
     247
     248   Remember that the proper way to modify the behaviour of the client is
     249   editing its configuration file,
     250   :ref:`mailjam-mta.conf <configuration_mta_client>`
     251
     252.. _running_mta_client_help:
     253
     254--help
     255******
     256
     257You can get some help by passing the *-h* or *--help* parameters::
     258
     259  mailjam-mta -h
     260
     261::
     262
     263  mailjam-mta --help
     264
     265.. _running_mta_client_config:
     266
     267--config
     268********
     269
     270You can set the path to the config file the client will load on startup,
     271passing the *-c* or *--config* parameters::
     272
     273  mailjam-mta -c /home/mailjam/mailjam-mta.conf
     274
     275::
     276
     277  mailjam-mta --config /home/mailjam/mailjam-mta.conf
     278 
     279.. warning::
     280
     281   If the file does not exist, or if it is not a valid configuration file,
     282   an error will be shown and the client will refuse to start.
     283
     284.. _running_mta_client_version:
     285
     286--version
     287*********
     288
     289You can check the version of the mailjam client you are trying to run by
     290passing the *-v* or *--version* parameters::
     291
     292  mailjam-mta -v
     293
     294::
     295
     296  mailjam-mta --version
     297
     298.. _running_mta_client_address:
     299
     300--address (required)
     301********************
     302
     303This parameter is required (you have to provide it with a value in order to
     304run the mailjam-mta). It sets the address of the mailing list managed by this
     305MTA client instance.
     306
     307The MTA client will use the provided value to do some checks on the daemon,
     308retrieving all the needed data to perform its tasks.
     309
     310You can pass a valid address using both the *-a* and *--address* parameters::
     311
     312  mailjam-mta -a list@mydomain.com
     313
     314::
     315
     316  mailjam-mta --address list@mydomain.com
     317
     318.. _running_mta_client_input:
     319
     320--input
     321*******
     322
     323This parameter tells mailjam-mta from where it has to read the message sent
     324to the mailing list. That could be a local file (to be readed from disk) or
     325a stream of data coming directly from the standard input (*stdin*).
     326
     327For a regular configuration/setup, the second option is preferred, as the mail
     328server will send the stream of data directly to mailjam-mta (as
     329:ref:`explained before <running_mta_client_explained>`)::
     330
     331  mailjam-mta -i -
     332
     333::
     334
     335  mailjam-mta --input -
     336
     337But perhaps some time you would like to send (again) a message you have on disk,
     338that could be done easily, passing the path to the file containing that message
     339to mailjam-mta::
     340
     341  mailjam-mta -i /home/backups/mail/that-important-mail.txt
     342
     343::
     344
     345  mailjam-mta -input /home/backups/mail/that-important-mail.txt
     346
     347
     348.. _running_web_client:
     349
     350The Web client
     351--------------
     352
     353.. [1] http://en.wikipedia.org/wiki/Email_alias
     354.. [2] http://www.freebsd.org/cgi/man.cgi?query=newaliases
Note: See TracChangeset for help on using the changeset viewer.