1. Already mentioned, but I’ll “+1” it: The option to just send the outgoing emails, without writing the submissions to the database.
2. Again, my +1 for this: Being able to vary the ‘Notify’ address according to user selection (whether by radio button or drop-down select,). Also, extending this to include the Multiple attribute on ‘Select’ elements and input checkboxes; this would give the user the option of sending a message to various addresses (eg. more than one department of a company).
3. Anti-Spam technique #1: the human answerable question. I’d like to be able to have a text input box in which the user has to answer a specific question, eg. “Is fire hot or cold”. The answer could be set as a form parameter; if it the user‘s input answer doesn’t match then the form isn’t submitted.
4. Anti-Spam technique #2: the Honeypot. The ability to specify that a particular text field must be left blank in order for the form to be submitted.
NB. for both the above anti-spam techniques, it might also be a good idea to be able to specify whether ‘spammy’ form submissions die quietly (without notifying the user of the fact) or whether they give an indication of failure. Not sure which is the best option of the two, but being able to choose would make sense.
5. Improved validation and field matching. the best example I’ve found is the form handler that I’ve been using in recent years—ProcessForm by Nate Baldwin. This script gives the user enormous abilities when it comes to deciding what fields are required; there are options to demand that two fields match (eg. ‘your email’ and ‘please retype your email’); the ability to make fields required ONLY if other fields are empty, or only if other fields are filled out; the ability to specify that certain fields must contain only numbers, or only letters, or a valid email address format (it can’t check whether the address exists of course, but it can check the address format)... the list goes on.
There. That’s enough to be going on with I think, right?