First you have to make the distinction between feedback and help as they require different language and timing.
IMHO feedback and help should be metrics driven. That will help you find out when is the time to send and email. Services like Mixpanel can send automatic email based on the completion of certain funnels or actions. But you can also setup your site to trigger form based on some actions.
About support/help form, make sure to ask about the current mood of the person seeking for help, it will help you figure out how to answer the person (you won't answer an angry or desperate person the same way as a wondering or happy one).
It's also a good practice to have some kind of help center/Q&A because as it will prevent you from having similar request for help all the time.
A good way to figure out what your users want is to implement a feature voting system where users can vote for specific feature and ask for new ones. (User voice service does exactly that)