Your donations are always welcome and appreciated!
Arca NoaeYandex

Manjary server

Manjary is a mail and web server supporting POP3, IMAP4, SMTP, LDAP, HTTP, ManageSieve, poppassd and their SSL extensions. The server has additional functionality, such as checking for spam and an interface for interacting with external programs that allows you to implement additional features.

The server has a customizable modular structure. This ensures resource savings by using only those modules that are necessary to solve the assigned tasks. The configuration of the server as a whole and all modules is located in a local file and can be changed and applied without stopping the server. Management of users, domains and other administration tasks are implemented through a simple WEB interface which can be supported either by a built-in HTTP server or be transferred to a third-party server for centralized administration of one or many Manjary servers.

This software is currently in active development and testing. All significant changes are immediately checked on a real system. Documentation will be updated and supplemented. There is no documentation in English yet, but an online version with automatic translation is available. All example files are provided with comments in English.

Download

History of changes

2024-11-20 ver. 0.0.28
- Optimized poll() implementation for OS/2.
- Added local and remote addresses to the log file entry about the end of the
  session.

2024-11-18 ver. 0.0.27
- Fixed a low-level network subsystem issue that sometimes resulted in high CPU
  load (perhaps only on single-processor systems).

2024-11-13 ver. 0.0.26
- HTTP server: FastCGI interface has been improved.
- New parameter "clients-per-ip-limit" for "host" configuration nodes. Allows
  to limit the number of connections from one IP address.
- Documentation and examples updates.

2024-11-07 ver. 0.0.25
- HTTP server: Fixed a bug that caused the server to crash on requests without
  the Host: field if the default virtual host was not specified in the
  configuration.

2024-10-31 ver. 0.0.24
- Fixed a bug where new connections would stop being accepted if the connection
  was interrupted at the very beginning of an SSL session.

2024-10-16 ver. 0.0.23
- Optimization of work with mutexes in the main network subsystem and IMAP
  module for faster object release and avoidance of potential deathlock.
- Found a way around a libssl bug that seems to be OS/2 specific.

2024-10-10 ver. 0.0.22
- Fixed several issues in the new core networking subsystem.
- Fixed a bug in reading data from the standard output of external programs.
  This bug affected the helpers module.

2024-10-05 ver. 0.0.21
- The core network subsystem has been rewritten. All protocol implementations
  now share a single thread pool. The "threads" and "threads-max"
  configuration parameters are now specified globally rather than per host.
- HTTP: Fixed a small memory leak when running CGI programs.
- HTTP: The restriction on the simultaneous use of wildcard characters and
  unicode characters in vhost/names configuration parameters has been removed.
- New example configuration file 'manjary.xml.HTTP' in the 'examples'
  directory.
- Documentation updates.

2024-09-30 ver. 0.0.20
- Support for internationalized SMTP, POP3 and IMAP4 protocols.
  The module-SMTP/client/ignore-8BITMIME configuration option is now
  deprecated and ignored. The message is downgraded and re-encoded when sent
  to an SMTP server that does not support the appropriate extensions.
- SMTP server: Full implementation of VRFY and EXPN commands.
- SMTP server: Fixed the date in the added Received: fields. The incorrect day
  of the week was indicated.
- IMAP4: APPENDLIMIT extension. New configuration option:
  server/module-IMAP4/append-limit.
- IMAP4: The IDLE command is now available in the Authenticated State, which
  complies with RFC 2177. Previously IDLE was only available in the Selected
  State.
- Major code optimization.
- Making changes and additions to the documentation.

2024-08-21 ver. 0.0.19
- Implemented IMAP4 protocol extensions: BINARY, ESEARCH, UNSELECT.
- IMAP4: Fixed setting the message date/time with the APPEND command.

2024-08-11 ver. 0.0.18
- Optimized implementation of the IMAP4 SEARCH command.
- Fixed the problem with renaming folders ("mailboxes" in IMAP4 terms).

2024-07-27 ver. 0.0.17
- Fixed an issue in the mail module that could sometimes cause the imap4 module
  on a FETCH command to return the requested part of the mail without a leading
  boundary.

2024-07-22 ver. 0.0.16
- Fixed an issue in the previous version that caused message files to remain
  open after reconfiguration. This resulted in the inability to delete or move
  messages.

2024-07-19 ver. 0.0.15
- Progressive analysis of message structure as requests are received via the
  IMAP4 protocol. Storing message structure in memory to reduce the number of
  message file reads for subsequent requests.

2024-04-27 ver. 0.0.14
- Sieve module: Fixed compilation of empty script. Executing the resulting
  binary does not generate any error log entries.
- A significant part of the IMAP4 module has been rewritten. The extended LIST
  command (RFC 5258) has been implemented.
- New example configuration file 'manjary.xml.SIMPLEST' in the 'examples'
  directory. The simplest all-in-one configuration.

2024-03-15 ver. 0.0.13
- Added a new module - poppassd.

2024-03-13 ver. 0.0.12
- Added a new module - Sieve. The module implements support for the Sieve
  programming language and the ManageSieve network protocol.

2024-01-24 ver. 0.0.11
- Fixed a bug that caused a crash when passing an empty base64 string to SASL.

2024-01-18 ver. 0.0.10
- SMTP module: Fixed memory out of bounds error when receiving multi-line SMTP
  responses from the server.

2023-12-05 ver. 0.0.9
- fcgiadm: Passing log entries to the browser in CDATA nodes.
- Run external processes with I/O redirection using native API instead of libc
  calls.
- HTTP module: Added some missing variables for CGI programs.

2023-11-29 ver. 0.0.8
- SpamCheck module: Additional checks for recursive inclusions for SFP.
- The SPAMCHK module name in some log file entries has been corrected (it was
  SMTPCHK).

2023-11-17 ver. 0.0.7
- New feature: displaying the tail of the log in the administrator web
  interface.
- Fixed a bug with encoding long strings in the FastCGI interface.
- Fixed freezing of the entire FastCGI interface if one of the FastCGI
  applications unexpectedly closed the connection.
- Fixed hang on server shutdown when using helpers and reconfiguration was
  performed.

2023-11-06 ver. 0.0.6
- The FastCGI interface has been completely rewritten.
- The API for interaction with external programs has been rewritten. This is
  now used in the Helpers module and for CGI programs in the HTTP module.
- HTTP module: Fixed a bug where the <handler> directive would not work if it
  specified an executable file (not FastCGI).
- Helpers module: EXIT and RECONFIG requests are no longer generated. Now an
  interrupt signal is sent instead. File examples\hlpsmtpsrv.cmd has been
  updated to reflect these changes.

2023-10-22 ver. 0.0.5
- Extended user information (vCard).
- The address book. Implementation of the LDAP protocol.
- Web interface improvements and fixes.

2023-08-08 ver. 0.0.4
- Fixed a bug due to which some temporary files were not deleted.

2023-07-20 ver. 0.0.3
- Fixed a bug due to which when the maximum number of failed attempts to send a
  message was reached, the message files (*.eml, *.out) in <mail-root>\queue
  were not deleted.

2023-07-11 ver. 0.0.2
- IMAP4: In the case where a multipart message did not have a Content-Type
  field in one of the parts, an incorrect response to the FETCH BODYSTRUCTURE
  command was generated. Now the default response to FETCH is text/plain.

2023-07-10 ver. 0.0.1
- First public release.

2021-09-15
- Beginning of the active development phase.