mikegioia / libremail

IMAP ➝ SQL syncing engine, JavaScript-free email client, and a Kanban-style email client
Other
122 stars 12 forks source link
email imap mysql php php7 sql-syncing-engine sync-engine webmail

LibreMail

Under Active Development

Sync is ready to use! Webmail is about 90% done!

This project consists of three parts:

  1. IMAP to SQL Syncing Engine
  2. JavaScript-free HTML Email Client
  3. Kanban-style Email Client

All of which are licensed under the GNU GPLv3. The goal of this project is to provide a fully free, modern, and extremely usable email client as well as an easy to use tool for storing your remote email in a local SQL database.

Additionally, I set out to create a Kanban-style email client to interact with your email in a much more intuitive, card-based interface. Currently, part 1 is finished and part 2 has started. Read below for more information about each application.

1. IMAP to SQL Syncing Engine

Ready

Both email clients in this project utilize the syncing engine provided in the sync app. This application is designed to continually download emails from any number of IMAP servers and accounts. The data is saved in the format outlined in DATA_FORMAT.md.

Please see the sync directory for full documentation on setting up the sync engine; i.e. connecting accounts, populating test data, and the different ways with which you can run the application in the background (supervisor, cron, etc).

2. JavaScript-free HTML Email Client

Very Soon

One of the primary goals of this project is to create a web-based email client that is completely free of JavaScript or browser code. Modern web development has fallen into a pattern of using JavaScript to do everything. It can be very advantageous, from a security and privacy perspective, to disable JavaScript for any email web applications. Having a mail client that works without JavaScript can be a huge blessing!

It's recommended and encouraged to disable JavaScript when using LibreMail. This can avoid a very large class of security vulnerabilities. While most problems are encountered upon clicking external links or downloading and opening files, disabling JavaScript for LibreMail can prevent malicious activity from other websites you have open, browser extensions, and more.

Web applications and pages can not only function, but thrive in a JavaScript-free environment. The webmail application in this project provides a rich GMail-style interface for interacting with the local email saved in a SQL database from the sync app (this is a pre-requisite). It's mobile-friendly, extremely light-weight, and provides almost full parity to GMail's email client.

3. Kanban-style Email Client

Not Started

The final goal of LibreMail is to create a modern and safe email client that works with and for the user, not against them. The Kanban client is meant to help organize and manage email for anyone who thinks of email as a "todo".