Modern Collaborative Email Platform
Silver aims to build a new kind of email and communication system that can work at a government scale. The goal is to make email faster, smarter, and easier to manage while keeping it secure and reliable. The platform will evolve in two stages: Version 1.0 delivers reliable, standards-compliant email, while Version 2.0 reimagines communication with modern collaboration at its core.
• Why Silver? • Key Features • Getting Started • Open Source Components • Contributing • License •
Silver is designed to be secure, reliable, and easy to manage. It runs entirely on your own hardware, giving you full control over your data and ensuring privacy. The system is lightweight and efficient, performing well even on minimal hardware, which makes it easy to deploy in a variety of environments. Each user has a single, unified identity, so an email address and user identity are seamlessly connected. You can bring your own identity provider or use Thunder to organize your users and map your organization hierarchically.
External firewalls are not required to filter emails, and attachments are stored separately in blob storage to save space and improve overall system performance. Silver also includes built-in observability, allowing administrators to monitor activity, detect issues early, and maintain smooth operation.
Silver offers powerful capabilities that set it apart from traditional email solutions:
| Feature | Status |
|---|---|
| Unmatched Cost Efficiency – Reduce enterprise email costs to near-zero infrastructure expense. | Completed |
| Lightweight Infrastructure – Run on minimal hardware without compromising performance | Completed |
| Complete Data Ownership – Full control over storage, access, and security | Completed |
| Built-In Security Protection – Enterprise-grade spam filtering and malware scanning | Completed |
| Professional Role-Based Identity – Authoritative organizational email addresses | In Progress |
| Smart Attachment Storage – Separate object storage for improved performance | In Progress |
| Identity Provider Integration – Seamless integration with existing IdP systems | Planned |
| Disaster-Proof Backups – Configurable backup strategies for data protection | Planned |
| Effortless Group Emailing – Organize users into groups for simplified communication | Planned |
| Email Workflow Automation – Route emails through predefined workflows with tracking | Planned |
| High-Performance Email Client – Native IMAP and JMAP support for faster sync | Planned |
| Email Expiration Control – Set expiration dates and retention policies | Planned |
- A dedicated Linux server with a static public IP address. You also require root access and port access control.
- Domain with DNS control
- 4GB of memory
- Ensure you have Git and Docker Engine installed
You own example.com and want to send an email as [email protected].
You will need to add a few records to your DNS control panel.
Note
Replace example.com and 12.34.56.78 in the below example with your domain and ip address.
| DNS Record | Name | Value |
|---|---|---|
| A | 12.34.56.78 | |
| A | example.com | 12.34.56.78 |
| MX | example.com | mail.example.com |
| TXT | example.com | "v=spf1 ip4:12.34.56.78 ~all" |
| TXT | _dmarc | "v=DMARC1; p=quarantine; rua=mailto:[email protected]" |
| PTR | 12.34.56.78 | mail.example.com |
Tip
PTR records are usually set through your hosting provider.
- Use the below command to clone the Silver Repo and navigate to the silver folder.
git clone https://github.com/LSFLK/silver.git
cd silver-
Open
silver.yamlwith a text editor. -
Enter your domain name.
-
Run
bash ../scripts/setup/setup.shto set up the configs. -
Run
bash ../scripts/service/start-silver.shto start the mail server. -
Replace the dkim record below with the output you get after running the
setup.shscript
| DNS Record | Name | Value |
|---|---|---|
| TXT | mail._domainkey | "v=DKIM1; h=sha256; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYZd3CAas0+81zf13cvtO6o0+rlGx8ZobYQXRR9W8qcJOeO1SiQGx8F4/DjZE1ggujOaY1bkt8OnUg7vG7/bk5PNe05EHJrg344krodqCJrVI74ZzEB77Z1As395KX6/XqbQxBepQ8D5+RpGFOHitI443G/ZWgZ6BRyaaE6t3u0QIDAQAB" |
Important
Ensure that your dkim value is correctly formatted.
- To add more users to your email server, open up
users.yaml, and add their usernames and run the following command.
# silver/services
bash ../scripts/user/add_user.sh- Follow the prompts to add a new user.
-
Now that you have a working email server, you can test your configuration using the following links/scripts.
- mxtoolbox
- MxToolbox is a powerful online service that provides a suite of free diagnostic and lookup tools for troubleshooting email delivery, DNS, and network issues.
- mail-tester
- Mail-Tester is a free online tool that analyzes the "spamminess" of your email and server configuration, providing a score out of 10 to help improve your email deliverability.
- mxtoolbox
-
You can also set up a Mail User Agent (MUA) like Thunderbird to send and receive emails. Follow the instructions in Mail User Agent Setup.
|
Figure 1: Outbound Email Flow
|
Figure 2: Inbound Email Flow
|
Silver is built using open-source software.
- Postfix - handles sending and receiving email.
- Raven - handles SASL authentication, LMTP, and IMAP server for email retrieval.
- Thunder - Identity provider and user manager
- Rspamd - spam filtering system.
- ClamAV - virus scanning system.
- Certbot - Client software that talks to Let’s Encrypt to generate certificates.
Thank you for wanting to contribute to our project. Please see CONTRIBUTING.md for more details.
Distributed under the Apache 2.0 License. See LICENSE for more information.

