News

[2015-09-07] SELOR Version 1.5 stable. Available.

[2015-08-23] Selor MySQL Module 1.2 Available.

[2015-05-09] SELOR Version 1.4 stable. Available.

[2015-03-17] Utilitie DKIMAvailable.

 

Introduction

MTA Selor is an open source mail server (SMTP), developed to run on Linux and FreeBSD systems.  Written in C and Assembly, MTA Selor is small, fast, flexible and secure.

The project is distributed under GPL license, with some specific features under MIT license

 

Key features:

  • Virtual Domains
  • Alias and redirection
  • SPF
  • RBLs
  • SRS
  • Runs external programs and reads the output of these programs to be used in event rules
  • Quota
  • Authentication
  • SSL/TLS via external module
  • Custom logs
  • Suport for multiple modules to access the e-mail base
  • Execution of rules files with base in events: Connection, SMTP(mail from, rcpt to, data) and more...
  • DoS protection

 

Access to user account and data is made using external modules, which makes possible to write your own module to access any of the internal databases

 

There are 3 external modules:

selor_passwd To access the operating system users (passwd/shadow)
selor_ldap To access a LDAP base
selor_mysql To access a MySQL Database


 

· Rule system based on events

The rules files are executed in events that occurs in all moment during the process of a email.

For example:

When a host/client connects via TCP/IP, the event 'Connection' occurs and the rules file specified by 'Event.connection' in selor.conf is executed. In a rules file you can execute several actions based in conditions.

 

The current events are:

 

Event.limit 

Event fired when a likely DoS attack is occurring
Event.connection  Event fired when the server receives a new TCP/IP connection
Event.helo  Event fired when the SMTP command 'helo' or 'ehlo' is sent by remote host
Event.auth Event fired when the authentication is made
Event.from  Event fired when remote host specifies the from address
Event.rcpt  Event fired when remote host specifies the recipient address
Event.data_cmd Event fired when 'data' SMTP command is sent (before of content of message)
Event.data  Event fired when remote host sent entire email body
Event.qstart_process Event fired when queue file is open
Event.qend_process 
Event fired when the server ends to process a queue file. This could be used to call external programs and analyze the status of queue file and update a database
Event.error_report  Event fired when the server send a MAILER-DAEMON to some sender
Event.dl_rcpt  When local server specifies a recipient during delivery of a email, the remote host reponds with a message (2xx, 4xx, 5xx).This event is fired after this response. It is possible to run external programs to test and control these responses
Event.lrcpt_refused  Event fired when a remote host specifies a recipient that is not accepted by local server.

 

 

This is a diagram of SMTP protocol and its events

SMTP protocol diagram

 

 

The list of all actions and conditions are available in Documentation section

 

 

 

The Selor project was written by Lucas Priori

Powered by C - Assembly