eProxy is a framework for SMTP proxy server that is meant to be used with Postfix versions 2.1 and above.
One of the standout features of eProxy is its incredible speed, thanks to its use of multi-threading. In particular, the software is lightning fast when it comes to content filtering, thanks to its use of C/C++ instead of slower interpreted languages.
Despite its speed and power, eProxy is incredibly easy to use. Unlike other SMTP proxy implementations that are complex and difficult to navigate, eProxy allows you to develop your own content filter in C+, with just a few simple commands. You can even call external processing/content filter "scripts" via a popen(), system(), or exec() call if needed.
To use eProxy effectively, you'll need to (re)implement a few functions in the emailHandling.cpp file. These include getDomainName(), which lets you obtain the domain name part of an email address. You can also use the email() function to perform custom actions on emails depending on where you want to bounce them.
The from() function lets you perform checks on the MAIL FROM part of an SMTP session, while the rcptto() function lets you check the RCPT TO part of an SMTP session. Both of these functions allow you to return a positive or negative number to accept or reject the session. Finally, the body() function is where you'll implement your actual body part scanning. When you return a positive number from this function, the body will be sent to the secondary SMTP server, but if you bounce it, the data will not be sent.
Overall, eProxy is a fantastic software option for anyone looking to improve their SMTP server performance and security. With its speed, ease of use, and powerful content filtering capabilities, it's a great choice for Postfix users looking to enhance their email workflows.
Version 1.0: N/A