Giter Club home page Giter Club logo

byemail's Introduction

Welcome to byemail

Build Build GitHub license Build Build Build

What is it ?

Byemail is a complete stack for a personal mail system including SMTP receiver, sender, webmail, mailing list and more. Install only one tool to rules them all.

E-mails are still a popular means of communication today. We use email to communicate in company, to send messages to our friends, to keep in touch with family members, etc. Despite the explosion of social networks and new means of communication, the mail system still has a bright future ahead of it.

If we believe in the decentralization of the web, it is difficult to believe that most emails are managed by a handful of private companies that lead the market. Why ?

Because, despite their long existence and the dependence of a large part of the population, mail servers are still difficult to install, configure and maintain mainly because they implement features that are not necessary for most end users and their architecture is no longer adapted to today's uses.

To create a complete mail system, we have to install a SMTP server to receive/send emails then an IMAP or POP3 server to gather the mails and finally a client to read them. Don't forget to configure your DNS and pray that your IP will not be banned for misuse.

To fulfill all ours needs we also need to add modules like:

  • a user account manager
  • a spam filter,
  • a webmail,
  • a mailing list manager,
  • ...

All this results in a complex system to set up and which requires great skills to administrate, not to mention the many security vulnerabilities that can be created without even noticing it. All the people who tried the adventure were afraid to create an open relay SMTP server so used by spammers or to be marked as spam from major mail systems.

Byemail is fully compatible with the current email system but the objective is to create a simpler and more secure stack first, then add functionality that is currently inaccessible due to the complexity of the architecture and the aging of the technology to meet the expectations of users with new needs.

With Byemail, you install only one tool for your email communication. Some common use cases on the roadmap:

  • Access your webmail from everywhere,
  • Receiving and sending mail for a family or small business,
  • Create a mailing list on the fly,
  • Share huge attachment without thinking of it and without flooding the net,
  • Send "burn after reading" email,
  • Cancel mail sent by mistake,
  • Create temporary address on the fly for spam protection,
  • Really secure mail even if the recipient doesn't have configured any gpg key,
  • Auto update your DNS configuration,
  • Spam protect you with captcha,
  • Easy quitting by easily export all your data to import them in another instance,
  • ActivityPub compatibility,
  • Scheduled mails
  • Scheduled mail acknowledgment (for privacy concern)
  • and more ...

Some technical advantages:

  • Easy backup: you only have one directory to save,
  • Easy configuration, everything in one python file,
  • Middleware to filter/modify/... incoming and outgoing mails,
  • Secure by design, open relay can't be done at all,
  • Use DKIM, SPF, DMARC to allow better receivability,
  • ...

Installation

You can install byemail in a virtualenv by doing a:

$ pip install byemail

Create and move to any directory, then execute:

$ byemail init

A new set of file are created in the current directory. Now Customize the settings.py. You should at least add one account using the given example in the file.

Then execute:

$ byemail start

You can now log to http://: to check new mails. Mail can be send to http://:8025.

To configure your DNS correctly, execute:

$ byemail dnsconfig

And copy (and adapt if necessary) the command result to your domain dns config.

As root you can make a tunnel to the 25 port without root permission for the server by doing:

$ socat tcp-listen:25,reuseaddr,fork tcp:<hostname>:8025 > nohupsocket.out &

DISCLAIMER: This is an early functional version. Don't hope using it in production for now but don't be afraid to try it and help us.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.