Dovecot Pro and Lua

Feb 14, 2019

Dovecot_blog

As 2019 begins, we at Open-Xchange would like to provide you with an update and a few details regarding the latest Dovecot Pro releases and new features. In this post, we discuss the addition of Lua-based functionality to Dovecot Pro.

Lua (https://lua.org/) is a popular, lightweight programming language commonly embedded in software applications. When implemented in an application, Lua allows more complex customization than is generally available using built-in application configuration and tools. Lua is relatively simple to learn, and administrators will likely be familiar with it due to its common usage.

Enabling Lua support in Dovecot Pro allows us to provide an easy interface for customers to independently deploy site-specific solutions, as opposed to requiring customized code to be created for each request. This allows a customer to quickly prototype a solution, and then immediately debug within the local platform. Additionally, this approach allows local customizations to be updated if local interfaces change.

The new Lua functionality provides a much quicker and flexible development path. Contrast this new approach with the previous requirement of Dovecot Pro core engineering efforts, in which developing, testing, packaging, and releasing the customization had to occur internally at before a customer's notification system could even begin to be tested.

With Dovecot Pro v2.3.4, Lua supports two systems: authentication and push notifications. For authentication, Dovecot Pro now supports Lua as both a passdb and userdb database. Local authentication and/or dynamic generation of Dovecot Pro config variables can be handled entirely within local code. The same interfaces available to a native C-coded authentication plugin are available to the Lua driver, so there is no loss in functionality by choosing this approach.

For push notification, Dovecot Pro now supports Lua as a driver that allows full control for handling a mail event (e.g. sending a HTTP request to a local endpoint). The Lua driver provides full support for all push notification events, not just new mail. Basic benchmarking indicates that the Lua drivers are within five percent of the performance of native code. For most use-cases, this is well within the acceptable performance profile given the benefits described above.

For more details and descriptions of the new APIs please visit:

Open-Xchange Professional Services is also available for consultation on how these new features can be advantageously deployed in an installation. Please reach out to your account manager or contact us if you have any questions or need more information.

 

About the author

Michael Slusarz

Michael Slusarz

Product Manager Dovecot

Categories

Related Articles

Dovecot Pro and Lua

As 2019 begins, we at Open-Xchange would like to provide you with an update and a few details regarding the latest Dovecot...

Michael Slusarz Feb 14, 2019

From Latin America to the Far East

The summer of TES in 2018 goes all around the planet – and for a project that was born in the heart of Europe, this is a...

Vittorio Bertola Aug 28, 2018

Boost your revenue with OX Display v1.4

A few weeks ago we introduced you to the three monetization solutions for OX products. Today we are pleased to announce the...

Florian Steps Jul 18, 2018

Open-Xchange releases new major versions of OX App Suite, OX...

We are excited to announce the release of three new major product versions: OX App Suite and OX Documents are now available...

Stephan Specketer Jul 4, 2018