https://glassfish.dev.java.net/javaee5/mail/
I'm thinking we can load it into CVS. Fix its inards. Then get some patient person at JBoss to do all the unpleasant parts (like working with the JCP and stuff) to get it back in. It looks like the 1.4 version has some fairly decent decopulation (no longer requires reading everything into memory) anyhow. However, it needs to take the next step and remove the silly JAF stuff...
Just an example... We do not need this nasty business of syncronizing every call to getContentType just in case a new mimetype was added (there are other ways to do this in concurrent utils but this isn't a nominal use case anyhow)
https://glassfish.dev.java.net/source/browse/glassfish/activation/src/java/javax/activation/MimetypesFileTypeMap.java?rev=1.5&view=markup
public synchronized String getContentType(String filename) { ...