{ "info": { "author": "Jeremie Pardou", "author_email": "jeremie.pardou@mhcomm.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Internet" ], "description": "# What is it ?\n\nByemail is a complete stack for a personnal mail system including SMTP receiver, sender, webmail,\nmailing list and more. Install only one tool to rules them all.\n\nE-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.\nDespite the explosion of social networks and new means of communication, the mail system still has a bright future ahead of it.\n\nIf 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 ?\n\nBecause, despite their long existence and the dependence of a large part of the population,\nmail 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.\n\nTo create a complet 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.\n\nTo fulfill all ours needs we also need to add module like:\n\n- an authentification system\n- a spam filter,\n- a webmail,\n- a mailing list manager,\n- ...\n\nAll 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.\n\nByemail is **fully compatible** with the current email system but the objective is to create a simpler and more secure stack first,\nthen 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.\n\nWith Byemail, you install only one tool for your email communication.\nSome common use cases on the roadmap:\n\n- Access your webmail from everywhere,\n- Receiving and sending mail for a family or small business,\n- Create a mailing list on the fly,\n- Share huge attachment without thinking of it and without flooding the net,\n- Send \"burn after reading\" email,\n- Cancel mail sent by mistake,\n- Create tempory address on the fly for spam protection,\n- Really secure mail even if the recipient doesn't have configured any gpg key,\n- Auto update your DNS configuration,\n- Spam protect you with captcha,\n- Easy quitting by easily export all your data to import them in another instance,\n- ActivityPub compatibility,\n- and more ...\n\nSome technical advantages:\n\n- Easy backup: you only have one directory to save,\n- Easy configuration, everything in one python file,\n- Middleware to filter/modify/... incoming and outgoing mails,\n- Secure by design, open relay can't be done at all,\n- Use DKIM, SPF, DMARC to allow better receiveability,\n- ...\n\n# Installation\n\n/!\\ We are yet in dev mode so some technical steps are necessary /!\\\n\nAfter cloning it, install byemail in a virtualenv:\n\n```sh\n$ cd \n$ python setup.py install\n```\n\nNow build the client:\n\n```sh\n$ cd byemail/client\n$ nvm use # If you have nvm\n$ npm i\n$ npm run build\n```\n\nCreate and move to any directory, then execute:\n\n```sh\n$ byemail init\n```\n\nA new set of file are created in the current directory. **Customize the settings.py**\nfile for your needs then execute:\n\n```sh\n$ byemail start\n```\n\nYou can now log to http://: to check new mails. Mail can be send to http://:8025.\n\nTo configure your DNS correctly, execute:\n\n```sh\n$ byemail dnsconfig\n```\n\nAnd copy (and adapt if necessary) the command result to your domain dns config.\n\nAs root you can make a tunnel to the 25 port without root permission for the server by doing:\n\n```sh\n$ socat tcp-listen:25,reuseaddr,fork tcp::8025 > nohupsocket.out &\n```\n\nDISCLAIMER: This is an early poorly functional version.\nDon't hope using it in production for now but don't be afraid to help me.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "mail asyncio smtp webmail", "license": "Apache Software License", "maintainer": "", "maintainer_email": "", "name": "byemail", "package_url": "https://pypi.org/project/byemail/", "platform": "", "project_url": "https://pypi.org/project/byemail/", "project_urls": null, "release_url": "https://pypi.org/project/byemail/0.0.1/", "requires_dist": [ "begins", "python-magic", "aiosmtpd", "arrow", "ujson", "aiodns", "sanic", "sanic-auth", "tortoise-orm", "py-vapid", "pywebpush", "uvloop" ], "requires_python": "", "summary": "byemail", "version": "0.0.1" }, "last_serial": 5197001, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "caffe6d40068c01807ac5453cbebc66a", "sha256": "c0c49b2dc62a6d4871a8313aec414071ecf54fdd8de9cdc3c9391186bcce543a" }, "downloads": -1, "filename": "byemail-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "caffe6d40068c01807ac5453cbebc66a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1207078, "upload_time": "2019-04-27T15:42:54", "url": "https://files.pythonhosted.org/packages/d2/96/81a198fb503e004410e9515dcc3dc075a10b588536096a7be3fce1df682d/byemail-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad66014352f038b7deffd72c0911e598", "sha256": "01bd4e9fcca5ab549666368d9f6de1c2c198bde56066e27d46b5d70a8ce671a0" }, "downloads": -1, "filename": "byemail-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ad66014352f038b7deffd72c0911e598", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1181144, "upload_time": "2019-04-27T15:43:23", "url": "https://files.pythonhosted.org/packages/20/d3/41b2be6df16d4be19e4e0eca606bbc4a1d9323d5153ef4d175ca004dd45a/byemail-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "caffe6d40068c01807ac5453cbebc66a", "sha256": "c0c49b2dc62a6d4871a8313aec414071ecf54fdd8de9cdc3c9391186bcce543a" }, "downloads": -1, "filename": "byemail-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "caffe6d40068c01807ac5453cbebc66a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1207078, "upload_time": "2019-04-27T15:42:54", "url": "https://files.pythonhosted.org/packages/d2/96/81a198fb503e004410e9515dcc3dc075a10b588536096a7be3fce1df682d/byemail-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad66014352f038b7deffd72c0911e598", "sha256": "01bd4e9fcca5ab549666368d9f6de1c2c198bde56066e27d46b5d70a8ce671a0" }, "downloads": -1, "filename": "byemail-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ad66014352f038b7deffd72c0911e598", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1181144, "upload_time": "2019-04-27T15:43:23", "url": "https://files.pythonhosted.org/packages/20/d3/41b2be6df16d4be19e4e0eca606bbc4a1d9323d5153ef4d175ca004dd45a/byemail-0.0.1.tar.gz" } ] }