News
SELOR Version 1.5.3 stable. Available.
Selor MySQL Module 1.3 . Available.
SELOR Version 1.5.2 stable. Available.
SELOR Version 1.5.1 stable. Available.
Selor MySQL Module 1.2 . Available.
SELOR Version 1.4 stable. Available.
Utilitie DKIM. Available.
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
The list of all actions and conditions are available in Documentation section
The Selor project was written by Lucas Priori |