This contact extension for Webpop is based on writing HTML5 forms with all the validations the HTML5 spec introduces, and having Webpop carry out the validations server-side in case the browser doesn't support them (or has been sidestepped completely).
To use it, simply copy "contact.js" into the Extensions folder of your project.
Writing forms with the <pop:contact>
extension is very straight forward, and while the extension can easily be used to output forms with a predefined markup, every part of the final html can be handcrafted.
Here's a simple contact form: