The Halon MTA supports native plugins written in C and other languages (supporting the C ABI). We have a collection of plugins written by Halon that you can use, but there is also the possibility to build your own. In order to build these plugins you will need to create a build C/C++ environment for the same version of FreeBSD as the current version of Halon that you are using.
Here are the steps
1. Login as root to your Halon VM, and check the version of FreeBSD by running
2. Install the same version of FreeBSD (from freebsd.org) as a separate VM instance, install clang++ (make sure you can run
clang++ -v successfully before continuing).
3. Fetch the HalonMTA.h (C header file) from the Halon VM, it's located at
/usr/local/share/halon/HalonMTA.h, you could put this file i one of the clang++ include paths or in
4. Download one of the plugins or create your own, if you use one of the provided from our library you should replace
clang++ in the Makefile before building.
5. The library.so should then be put on the Halon VM under the
/storage/plugins/ folder. If the plugin requires additional libraries itself, these should be put in the
6. The plugin needs to be loaded by adding them to the configuration under the "Hosts > Services > SMTP server > Plugins" section.
Keep in mind that you may need to rebuild your plugin if you upgrade Halon to new version depending on if any of the linking and library has changed.