System dependencies

MailerQ runs on Linux. We distribute the software in binary form for Debian/Ubuntu based systems and for Red Hat based systems. Please drop us a message if you need a version for a different type of system.

Most libraries that are needed by MailerQ are statically linked. This means that most of the required libraries are embedded into the binary code, so MailerQ runs straight out of the box with no need for you to fix dependencies and install other software. However, when MailerQ starts, it does do a scan of your system to detect which libraries are available. If MailerQ happens to find one or more of the following libraries, it does load them to use specific features from these libs:

Tables Description
libopenssl Used for TLS encryption, license checking and base64 encoding
libz Used for compression algorithms
libmagic Used to detect the mime-type of files
libuuid1 Used for generating globally unique identifiers
libidn Used for parsing international domain names
libxml2 Used for parsing and modifying XML/HTML code
libimagemagick Used to find out the dimensions of images
libmysqlclient Used to connect to a mysql/mariadb database
libmariadbclient Used to connect to a mysql/mariadb database
libpq Used to to connect to a Postgresql database
libsqlite3 Used to process sqlite3 database files
libmongo-c-driver Used to connect to a MongoDB NoSQL server
libcouchbase Used to connect to a Couchbase server

From the above list, the openssl, libz and libidn libraries are required. All other libraries are optional and MailerQ can run without them. If a library is missing, MailerQ will either fall back on its own implementation, or will run without the features from the specific library.

Most of the MailerQ runtime settings are stored in a relational database. This means that you must have at least one of the mysql, mariadb, postgresql or sqlite3 libraries installed on your system.

Sqlite3 is a local solution. Mysql or Mariadb can run on a different servers, but then you need libmysqlclient on the mailerq box. Postgresql 9.5+ which can be on a different server too, but then you need libpq >= 9.5 to use it.