Updated README

This commit is contained in:
mdecimus 2025-01-20 18:27:32 +01:00
parent 4eca415e7b
commit d3e5565253
2 changed files with 11 additions and 4 deletions

View file

@ -57,9 +57,8 @@ Key features:
- Sender **reputation** monitoring by IP address, ASN, domain and email address.
- **Greylisting** to temporarily defer unknown senders.
- **Spam traps** to set up decoy email addresses that catch and analyze spam.
- **Flexible and scalable**:
- **Flexible**:
- Pluggable storage backends with **RocksDB**, **FoundationDB**, **PostgreSQL**, **mySQL**, **SQLite**, **S3-Compatible**, **Azure**, **Redis** and **ElasticSearch** support.
- **Clustering** support with node autodiscovery and partition-tolerant failure detection.
- Full-text search available in 17 languages.
- Sieve scripting language with support for all [registered extensions](https://www.iana.org/assignments/sieve-extensions/sieve-extensions.xhtml).
- Email aliases, mailing lists, subaddressing and catch-all addresses support.
@ -73,6 +72,13 @@ Key features:
- Rate limiting.
- Security audited (read the [report](https://stalw.art/blog/security-audit)).
- Memory safe (thanks to Rust).
- **Scalable and fault-tolerant**:
- Designed to handle growth seamlessly, from small setups to large-scale deployments.
- Built with **fault tolerance** and **high availability** in mind, recovers from hardware or software failures with minimal operational impact.
- Partition-tolerant **failure detection**, ensuring continuous operation even during network partitions or node failures.
- **Coordinator-free** architecture with automatic node discovery eliminates central bottlenecks and single points of failure.
- **Kubernetes** support for automated scaling and efficient container orchestration.
- Read replicas, sharded blob storage and in-memory data stores for high performance and low latency.
- **Authentication and Authorization**:
- **OpenID Connect** authentication.
- OAuth 2.0 authorization with [authorization code](https://www.rfc-editor.org/rfc/rfc8628) and [device authorization](https://www.rfc-editor.org/rfc/rfc8628) flows.

View file

@ -13,7 +13,8 @@ use smtp::core::Session;
use utils::config::Config;
use crate::smtp::{
session::{TestSession, VerifyResponse}, DnsCache, TestSMTP
session::{TestSession, VerifyResponse},
DnsCache, TestSMTP,
};
const CONFIG: &str = r#"
@ -28,7 +29,7 @@ mt-priority = [{if = "remote_ip = '10.0.0.1'", then = 'nsep'},
{else = false}]
[session.ehlo]
reject-non-fqdn = true
reject-non-fqdn = "starts_with(remote_ip, '10.0.0.')"
[auth.spf.verify]
ehlo = [{if = "remote_ip = '10.0.0.2'", then = 'strict'},