Oh, yeah, to answer your question:
how difficult would it be to develop support for exim?It would be as difficult as developing support for any of the other mail servers. You'd start with a Webmin module (look in the postfix and sendmail modules for an idea of the lines of code this requires--it's a couple of weeks of work for a perl and exim guru and a couple of months or more for a newbie to perl and Webmin development), and then add lib support in Virtualmin (this part is actually pretty easy because the MTA support has already been very abstracted out to nicely support three mail servers). In fact, the latter part is so easy that I'd volunteer to handle the Virtualmin integration if you bring us a full-featured and clean Exim Webmin module.
People other than Jamie are capable of developing full-featured Webmin modules, as the Postfix module was originally developed by folks working for Mandrake Linux several years ago. So, if you're feeling ambitious, dig in! We'll try to be helpful if you run into problems. ;-)
A cursory glance at the Sendmail and Postfix modules indicates about 4000 lines of code for each. With more modern techniques (both are quite old, though they get updates to match library changes) this could certainly be shortened. Jamie crams an awful lot of functionality into very little code these days, because the libraries in Webmin have gotten so powerful.
Oh, yeah, googling turns up an old, seemingly never completed and unmaintained, Exim Webmin module that looks pretty minimal, but might provide a reasonable starting point...but if it's to be integrated into Webmin proper (and get maintenance, translations, improvements, from us like the Postfix module has) and get Virtualmin support, the module has to be BSD-licensed. I don't see the license for it on this page:
http://mtlx.free.fr/webmin/exim/I've just installed it, and see that it's really only a status monitor for Exim. Probably not even worth starting from, as it doesn't even use the web-lib.pl. It's starting from scratch on just about everything, and it has an awful lot of code for doing so little (700-800 lines, mostly in the stats gathering code). Though it does look like pretty clean perl.