Explorar el Código

Readme update: edit description and add features list

flashmob hace 8 años
padre
commit
e82cf8046e
Se han modificado 1 ficheros con 24 adiciones y 9 borrados
  1. 24 9
      README.md

+ 24 - 9
README.md

@@ -14,20 +14,35 @@ It's a small SMTP server written in Go, for the purpose of receiving large volum
 Written for GuerrillaMail.com which processes hundreds of thousands of emails
 every hour.
 
-The purpose of this daemon is to grab the email, save it to the database
-and disconnect as quickly as possible.
+The purpose of this daemon is to grab the email, save it,
+and disconnect as quickly as possible, essentially performing the services of a
+Mail Transfer Agent (MTA).
 
-A typical user of this software would probably want to look into 
-`backends/guerrilla_db_redis.go` source file to use as an example to 
-customize for their own systems.
+A typical user of this software would probably use it as a package in their own
+Go project in order to receive and deliver email.
+
+Go-Guerrilla allows you to customize how the email is delivered. 
+
+Out of the box, Go-Guerrilla does not attempt to filter HTML, check for spam or do any 
+sender verification. However, it comes with a modular middleware-like backend system which 
+support a range of different features and ways of delivering email. 
+See the list of available _Processors_ below.
 
-This server does not attempt to filter HTML, check for spam or do any 
-sender verification. These steps should be performed by other programs,
- (or perhaps your own custom backend?).
-The server does not send any email including bounces.
 
 The software is using MIT License (MIT) - contributors welcome.
 
+### Features
+
+- Multi-server. The daemon can spawn multiple servers at once, all sharing the same backend
+for saving email.
+- Config hot-reloading. Add/Remove/Enable/Disable servers without restarting. Reload TLS configuration, and most other settings on the fly.
+- Graceful shutdown: Minimise loss of email if you need to shutdown/restart.
+- Pooling: The daemon uses pooling where possible. It's friendly to the garbage collector.
+- Modular, component based, backend system for processing email that's easy to extend.  
+- Backend system arranged in a producer/consumer type structure, making use of Go's channels.
+- Fuzz tested.
+- Can be used as a package in your Go project.
+
 ### Roadmap / Contributing & Bounties