We have a web application that periodically sends out e-mails to users. At the moment we generate the html version and the text version in the code. However, this is cumbersome to maintain.
Is there a good e-mail template system out there that can generate both the html and text versions of an e-mail from the same template for Java?
Some requirements:
- any pictures/icons correctly embedded as mimeparts and properly linked
 - the text version needs to somewhat resemble the html version — for the benefit of users that see the text version and spam detectors
 - links need to show the URL in the text version
 - full control (or as much as possible) of the layout and style
 
In case it matters to your answer, we're using Struts… <cough>1</cough>.