Contact Form - Custom Fields, Dropdown, & Attachments

Would be great if we could add some custom fields to grab data such as Order no, and using a drop down field for the reason for contacting. Also, attachments would be awesome as a lot of the time I receive screenshots showing how something is not working.