{"id":13550303,"url":"https://github.com/Excision-Mail/Excision-Mail","last_synced_at":"2025-04-03T00:33:32.482Z","repository":{"id":37959757,"uuid":"244696892","full_name":"Excision-Mail/Excision-Mail","owner":"Excision-Mail","description":"Fullstack, security focused, personal mail server based on OpenSMTPD for OpenBSD","archived":false,"fork":false,"pushed_at":"2022-10-30T06:11:22.000Z","size":1485,"stargazers_count":158,"open_issues_count":11,"forks_count":16,"subscribers_count":14,"default_branch":"develop","last_synced_at":"2025-03-21T06:03:39.556Z","etag":null,"topics":["ansible","ansible-playbook","clamav","dovecot","gnupg","imap","ldap","letsencrypt","mail","mailserver","mta-sts","openbsd","opensmtpd","pop3","rspamd","sieve","smtp","ssl"],"latest_commit_sha":null,"homepage":"https://excision-mail.bsd.ac","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Excision-Mail.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-03T17:17:53.000Z","updated_at":"2025-01-31T19:42:46.000Z","dependencies_parsed_at":"2023-01-19T14:45:55.451Z","dependency_job_id":null,"html_url":"https://github.com/Excision-Mail/Excision-Mail","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excision-Mail%2FExcision-Mail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excision-Mail%2FExcision-Mail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excision-Mail%2FExcision-Mail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Excision-Mail%2FExcision-Mail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Excision-Mail","download_url":"https://codeload.github.com/Excision-Mail/Excision-Mail/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246916733,"owners_count":20854511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-playbook","clamav","dovecot","gnupg","imap","ldap","letsencrypt","mail","mailserver","mta-sts","openbsd","opensmtpd","pop3","rspamd","sieve","smtp","ssl"],"created_at":"2024-08-01T12:01:31.370Z","updated_at":"2025-04-03T00:33:29.739Z","avatar_url":"https://github.com/Excision-Mail.png","language":"Jinja","readme":"# Excision Mail\n[![release](https://img.shields.io/github/v/release/Excision-Mail/Excision-Mail?include_prereleases)](https://github.com/Excision-Mail/Excision-Mail/releases)\n[![license](https://img.shields.io/github/license/Excision-Mail/Excision-Mail.svg)](https://github.com/Excision-Mail/Excision-Mail/blobl/master/LICENSE)\n[![issues](https://img.shields.io/github/issues-raw/Excision-Mail/Excision-Mail)](https://github.com/Excision-Mail/Excision-Mail/issues)\n[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/Excision-Mail/Excision-Mail/issues)\n[![support](https://img.shields.io/matrix/excision-mail:matrix.org?label=support\u0026logo=matrix)](https://matrix.to/#/#excision-mail:matrix.org)\n\n[![ansible-lint](https://github.com/Excision-Mail/Excision-Mail/workflows/ansible-lint/badge.svg)](https://github.com/Excision-Mail/Excision-Mail/actions?query=workflow%3Aansible-lint)\n[![shellcheck](https://github.com/Excision-Mail/Excision-Mail/workflows/shellcheck/badge.svg)](https://github.com/Excision-Mail/Excision-Mail/actions?query=workflow%3Ashellcheck)\n\nFullstack, security focused mailserver based on OpenSMTPD for OpenBSD using ansible\n\n## Installation\nGo through the [installation overview](https://excision.bsd.ac/install) on the website: https://excision.bsd.ac/install/\n\n## Functionality highlights\n\n#### Full featured email server with modern encryption standards enforced\n\n* All connections are *TLS* enforced, including `pop3s`, `imaps`, `smtps`.\n  * `smtp` and `sieve` are **STARTTLS** with enforced *TLS* escalation.\n  * Insecure versions of `pop3` and `imap` are disabled for additional security.\n* **OpenPGP** and **GnuPG** *Web Key Service* and *Web Key Directory* support for automatic publishing of public keys in a multi-domain server setting.\n  * Server only contains public keys of user, so encrypted emails can only be decrypted by the user.\n* `mta-sts` for fully encrypted email transfer channels.\n* Email subsystem separate from base operating system and managed by non-privileged account.\n  * Useful in case of a compromised user account.\n* Spam classification and automatic learning using [Rspamd](https://rspamd.com).\n* Multi-domain support for handling emails sent to more than one domain.\n* Server side filtering support and filter management using `managesieve`.\n* Mozilla auto-configuration for thunderbird and other opensource clients.\n\n#### Flexible server and user management system\n\n* Daily report for system stats and email stats for server status checks.\n* Email stored in **maildir** format for easy server side management.\n* Support for aliases using pseudo accounts in both sending and receiving emails.\n* User management scripts for adding users and aliases.\n* Automatic management and tag support for `user+tag@...` in both sending and receiving emails.\n  * Option to change separating tag to non-default options, such as `.`, `-` or `_` for additional privacy.\n* Automatic management of TLS certificates from [Lets Encrypt](https://letsencrypt.org/).\n  * HSTS enabled on httpd for enforcing secure connections.\n\n#### Optional email features\n\n* Optional hidden **Authoritative DNS server** using  [knot](https://www.knot-dns.cz/) for a *stealth master* configuration using secondary DNS providers.\n  * Handles complex DNS setup for publicizing all encryption options to senders.\n  * Automatic configuration of **DNSSEC**,**DKIM**, **SPF**, **DMARC**, **SSHFP**, **CAA** and other records.\n* Optional [spamd(8)](https://www.openbsd.org/spamd/) set up for highly effecient spam deferral and false email rejection.\n* Optional antivirus using **Clamav** for additional security of users on Windows systems.\n\n## Architecture Goals\n\nExcision Mail aims to use as much of the base OpenBSD system and as few dependancies from ports as possible for maximum security.\n\n#### Base system\n* [OpenSMTPD](https://www.opensmtpd.org/)   \nThe default OpenBSD mail transfer agent. Highly secure, fast and efficient.\n* [acme-client(1)](https://man.openbsd.org/acme-client)   \nAutomatic certificate management for the system domains.\n\n#### Ports\n* [Rspamd](https://rspamd.com/)   \nEfficient and configurable spam classifier.   \n* [knot](https://www.knot-dns.cz/)   \nMake an autoritative nameserver for your domain.\n* [Dovecot](https://www.dovecot.org/)   \nSecure `imaps`, `pop3s` and `sieve` server to allow access from clients outside the server.\n* [ClamAV](https://www.clamav.net/)   \nOpen source antivirus tools to check email attachments.\n* [GnuPG](https://gnupg.org/)   \nMake a [*Web Key Service*]() and [*Web Key Directory*]() using `gpg-wks-server`.\n* [nginx](https://www.nginx.com/)   \nHosting websites for `mta-sts` and publishing public keys.\n\n## Design goals\n\n* Be replicable and stable to build and upgrade.   \nThere should be no differences between upgrading a previous install and starting an install from scratch, if using the same configurations for both pathways.\n\n* Be well documented.\nEvery part of the setup should be clear and explained.\n\nExcision Mail tries to follow OpenBSD philosophy of being well documented and explaining all the choices that have been made.   \n**If it does not have good documentation, then it is still buggy**\n\n## Requirements\nOpenBSD 6.6 (may run on -current, but it will not be prioritized)   \nSystem requirements (good for about 50 users)\n  * 1 core\n  * 1GB RAM\n  * 2GB Swap\n\n## Contact and support\nThe primary mode of contact for reporting bugs and getting support is through GitHub.   \nExcision Mail has a matrix channel [#excision-mail](https://matrix.to/#/#excision-mail:matrix.org).\n","funding_links":[],"categories":["Jinja","Software","Sending"],"sub_categories":["Communication - Email - Complete Solutions","Complete Email Server"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FExcision-Mail%2FExcision-Mail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FExcision-Mail%2FExcision-Mail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FExcision-Mail%2FExcision-Mail/lists"}