Installing Pony Mail

Pre-requisites

You will need the following software installed on your machine:

  • ElasticSearch >= 1.3 (2.0 is not supported yet)
  • Python 2.7 if you plan to import from old mbox files
  • Python 3.x for the archiver plugin (setup.py will handle dependencies)
  • Apache HTTP Server 2.4.x with mod_lua (see http://modlua.org/gs/installing if you need to build mod_lua manually)
  • Lua 5.2 or 5.1 with the following modules: cjson, luasec, luasocket

Download and Install

  • Download the git repo: git clone https://github.com/Humbedooh/ponymail.git
  • Start ElasticSearch on the machine it needs to run on.
  • Run setup.py in the tools dir:
      $cd toosl
      $python3.4 setup.py
      ...[follow instructions in the setup script]
  • Edit site/js/config.js to suit your needs (usually very little editing is needed)
  • Set up a VirtualHost block in Apache httpd that points to the site/ directory in Pony Mail
  • Add the configuration snippets from configs/ponymail_httpd.conf to the virtual host
  • Start Apache httpd to enable the user-facing interface

Setting up the archiver

If your mailing list supports feeding emails to a program, feed the incoming new emails to python3.4 /path/to/mm3/plugin.py and it will use STDIN as the transport mechanism. If you are simply using aliases or dot-forwards and no ML system, you can add | "python3.4 /path/to/mm3/plugin.py" to your alias file to enable archiving.

If you are using MailMan 3, you can add the plugin.py as an archive by following the instructions inside the python script:

  • Copy this file to $mailman_plugin_dir/mailman_ponymail/init.py
  • Enable the module by adding the following to your mailman.cfg file::
  [archiver.ponymail]
  # Pony Mail
  class: mailman_ponymail.Archiver
  enable: yes