Convert Figma logo to code with AI

mailpile logoMailpile

A free & open modern, fast email client with user-friendly encryption and privacy features

8,817
1,014
8,817
4

Top Related Projects

The Roundcube Webmail suite

:love_letter: An extensible desktop mail app built on the modern web. Forks welcome!

A third-party, open-source ProtonMail CardDAV, IMAP and SMTP bridge

Quick Overview

Mailpile is an open-source, self-hosted email client with a focus on privacy and security. It provides a web-based interface for managing emails and includes features like search, tagging, and encryption. Mailpile aims to give users more control over their email data by allowing them to host it on their own hardware.

Pros

  • Strong emphasis on privacy and security, with built-in encryption support
  • Self-hosted solution, giving users full control over their email data
  • Powerful search capabilities and tagging system for efficient email management
  • User-friendly web interface with a modern design

Cons

  • Requires technical knowledge to set up and maintain
  • Development has slowed down in recent years, with less frequent updates
  • Limited integration with third-party services compared to some commercial email clients
  • May have performance issues with very large email archives

Getting Started

To set up Mailpile, follow these steps:

  1. Clone the repository:

    git clone https://github.com/mailpile/Mailpile.git
    
  2. Install dependencies:

    cd Mailpile
    pip install -r requirements.txt
    
  3. Run the setup script:

    ./mp setup
    
  4. Start Mailpile:

    ./mp
    
  5. Open a web browser and navigate to http://localhost:33411 to access the Mailpile interface.

For more detailed instructions and configuration options, refer to the project's documentation on GitHub.

Competitor Comparisons

The Roundcube Webmail suite

Pros of Roundcubemail

  • More mature and widely adopted webmail solution
  • Extensive plugin ecosystem and community support
  • Better integration with existing IMAP servers

Cons of Roundcubemail

  • Less focus on privacy and encryption features
  • Heavier server-side requirements
  • User interface can be less modern and intuitive

Code Comparison

Mailpile (Python):

def _decode_payload(self, part, charset='utf-8'):
    payload = part.get_payload(decode=True)
    if payload is None:
        return None
    return payload.decode(charset, 'replace')

Roundcubemail (PHP):

public function decode($input, $mode = 0, $charset = null)
{
    $charset = $charset ?: $this->default_charset;
    return $this->iconv($charset, RCUBE_CHARSET, $input);
}

Both projects handle email payload decoding, but Mailpile uses Python and focuses on character set handling, while Roundcubemail uses PHP and leverages its iconv method for charset conversion. Mailpile's approach appears more straightforward, while Roundcubemail's method is part of a larger class structure.

:love_letter: An extensible desktop mail app built on the modern web. Forks welcome!

Pros of Nylas Mail

  • Modern, sleek user interface with a focus on design and user experience
  • Cross-platform support (Windows, macOS, Linux) with native desktop applications
  • Extensive plugin ecosystem for customization and additional features

Cons of Nylas Mail

  • Development has been discontinued, with no active maintenance or updates
  • Potential security concerns due to lack of ongoing support and bug fixes
  • Limited privacy features compared to Mailpile's encryption-focused approach

Code Comparison

Nylas Mail (JavaScript):

import React from 'react';
import { Actions } from 'nylas-exports';

export default class ComposeButton extends React.Component {
  _onCompose = () => Actions.composeNewBlankDraft();
  render() {
    return <button onClick={this._onCompose}>Compose</button>;
  }
}

Mailpile (Python):

class Compose(Command):
    def command(self):
        session, config, idx = self.session, self.session.config, self._idx()
        return self._edit_messages(session, idx,
                                   msg_idxs=[],
                                   new=True,
                                   subject=self.data.get('subject', ''))

While both projects aim to provide email client functionality, Nylas Mail focuses on a modern, extensible approach using JavaScript and React, whereas Mailpile emphasizes security and privacy with its Python-based implementation. Nylas Mail offers a more user-friendly interface, but Mailpile provides stronger encryption and privacy features.

A third-party, open-source ProtonMail CardDAV, IMAP and SMTP bridge

Pros of Hydroxide

  • Lightweight and focused on ProtonMail bridge functionality
  • Written in Go, potentially offering better performance
  • Actively maintained with recent updates

Cons of Hydroxide

  • Limited to ProtonMail, while Mailpile supports various email providers
  • Lacks a full-featured email client interface
  • Smaller community and less extensive documentation

Code Comparison

Hydroxide (Go):

func (b *Bridge) Login(username, password string) error {
    auth, err := protonmail.NewAuth(&protonmail.AuthConfig{
        Username:   username,
        Password:   password,
        AuthClient: b.newClient(),
    })
    if err != nil {
        return err
    }
    // ... (additional code)
}

Mailpile (Python):

def login(self, username, password):
    try:
        self.session = self.imap.login(username, password)
        self.logged_in = True
        return True
    except imaplib.IMAP4.error:
        return False

Both projects handle login functionality, but Hydroxide is specifically tailored for ProtonMail's authentication process, while Mailpile uses a more generic IMAP login approach. Hydroxide's implementation in Go may offer performance benefits, while Mailpile's Python code is more accessible for rapid development and scripting.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Welcome to Mailpile!

IMPORTANT NOTE

Development on this codebase has halted, until the Python3 rewrite has completed.

Apologies to those who have unanswered, out-standing pull requests and issues. 😢 Your efforts are appreciated!

If you rely on this code and have your own branch which you actively maintain, let us know: we would be happy to link to it.

If you need to run Mailpile v1 to access legacy data, consider using our legacy Docker images.


Introduction (Obsolete)

Mailpile (https://www.mailpile.is/) is a modern, fast web-mail client with user-friendly encryption and privacy features. The development of Mailpile is funded by a large community of backers and all code related to the project is and will be released under an OSI approved Free Software license.

Mailpile places great emphasis on providing a clean, elegant user interface and pleasant user experience. In particular, Mailpile aims to make it easy and convenient to receive and send PGP encrypted or signed e-mail.

Mailpile's primary user interface is web-based, but it also has a basic command-line interface and an API for developers. Using web technology for the interface allows Mailpile to function both as a local desktop application (accessed by visiting localhost in the browser) or a remote web-mail on a personal server or VPS.

The core of Mailpile is a fast search engine, custom written to deal with large volumes of e-mail on consumer hardware. The search engine allows e-mail to be organized using tags (similar to GMail's labels) and the application can be configured to automatically tag incoming mail either based on static rules or bayesian classifiers.

Trying Mailpile

If you need to run Mailpile v1 to access legacy data, consider using our legacy Docker images.

Credits and License

Bjarni R. Einarsson (http://bre.klaki.net/) created this! If you think it's neat, you should also check out PageKite: https://pagekite.net/. Smári and Brennan joined the team in 2013 and made this a real project (not just a toy search engine).

The original GMail team deserve a mention for their inspiring work: wishing the Free Software world had something like GMail is what motivated Bjarni to start working on Mailpile. We would also like to thank Edward Snowden for inspiring us to try and make PGP usable for journalists and everday folks!

Contributors:

And of course, we couldn't do this without our community of backers.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation. See the file COPYING.md for details.