Skip to content

t-lo/incubator-ponymail-foal

 
 

Repository files navigation

Apache Pony Mail Foal

Next-generation suite of services and tools for Apache Pony Mail (incubating)

Type tests: CI Status, Type Tests
Unit tests: CI Status, Unit Tests

This repository aims to contain the next generation of Apache Pony Mail, a pure Python version of Apache Pony Mail with support for ElasticSearch 7.x and above.

New features in Foal:

Among other things, Foal sports the following new features:

  • Improved archiver and import tools
  • New, sleeker UI for the end user
  • Migration tools for moving to Foal
  • 100% Python backend, no Lua required
  • In-place editing of emails via web UI

Installation Guide

Please see the installation documentation for setup instructions.

Current setup requirements:

  • An operating system, such as:
    • Linux
    • FreeBSD
    • Windows
    • Mac OS
  • Python 3.7.3 or higher with dependencies from requirements.txt in tools/ and server/ as needed.
  • Web server with proxy capabilities for the UI.
  • ElasticSearch 7.x or higher.

Migration disclaimer:

While compatible with the original Pony Mail, this will not be a drop-in replacement. Migration of the old database is required, and most older ID generators have been dropped in favor of collision-secure generators.

Known Limitations:

  • Emails are filed according to the Date: header rather than arrival time. This can cause emails to appear in the wrong month or year or even be future-dated.
  • While the underlying database can handle any number of emails a month, the UI and much of the API do not scale well beyond 10,000 emails per month per list.
  • Re-archiving/importing a previously hidden email will unhide it in the archive.

Known limitations when migrating from older Pony Mail instances:

  • The database entry is entirely replaced if an email is re-imported or re-archived after a migration. This can result in the loss of attributes such as alternate Permalinks.
  • The migration tool can drop Permalinks if two existing entries point to a sufficiently similar email
  • The migration tool does not fix up badly parsed message IDs etc
  • There is no longer a 1-to-1 relationship between mbox and source entries. This can result in orphan source entries, which has implications for privacy redaction.
  • Header parsing is stricter than before; some unusual message IDs are not handled correctly. This affects using Foal as a replacement for Apache mod_mbox mail archives.

About

Apache Pony Mail Foal (Next Generation Suite)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 44.6%
  • JavaScript 40.4%
  • HTML 10.5%
  • CSS 3.9%
  • Other 0.6%