I'd suggest tapping one of the others on this list for compiling help. I know enough to work through it, but it is not my area of expertise.
Darrell has put together the necessary packages for loading the compiler. Others can probably help with the specifics of doing the compile IF THE INSTRUCTIONS IN THE PATCH ARE UNCLEAR OR DO NOT WORK.
Oh, IIRC, I did miss one step. (I did all of this about a year ago, and I'm passing this along from memory -- hence the lack of detail.) You'll also need to obtain and load the qmail source (see qmail.org) before you can recompile the patch.
As I recall, the loading of the compiler, qmail source, and patch, and then running the make itself, was not all that difficult. Just load the development RPMs, follow the qmail.org instructions for loading the qmail source, and follow the patch instructions for loading the patch and doing the make.
When you are finished, it is only the qmail-remote binary that will be modified, and all related configuration is in the smtproutes_users file, so it is a pretty clean modification. I keep a copy of both the original and patched qmail-remote files (named qmail-remote.std and qmail-remote.auth) on my systems, and my configuration program determines which one to copy to qmail-remote, and also sets configuration database settings to control my smtproutes_users template. (As I said, I can't give you my -- my company's -- template, and even if I did it is far too complex for the typical SME install.)
I'd recommend putting two additional properties on the qmail key:
/sbin/e-smith/db configuration setprop qmail authuser=xxx authpass=xxx
Then, in your template script, only select SMTP AUTH LOGIN if both authuser and authpass are defined (having only one makes no sense.) Doing it this way you don't need a separate SMTP AUTH LOGIN enabled flag. However, if you feel more secure with a specific flag:
/sbin/e-smith/db configuration setprop qmail authlogin=enabled
If you prefer not to modify the existing 'qmail' key, create:
/sbin/e-smith/db configuration set SMTPAuthLogin custom status enabled username xxx password xxx
Either way, same effect, but sometimes dealing with an existing key is easier when doing templates.
Ah, yes, the reason for keeping copies of both patched and unpatched qmail-remote. The patched qmail-remote will produce unwanted log messages if SMTP AUTH LOGIN is not being used and is not configured. Keeping the original around lets me keep the logs cleaner.