A contact form that is hosted on a HTTPS protected website already does the job. The main difference is that it is usually (but not necessarily) only transmitted encrypted, not stored in encrypted form.
Here's a tip: If you generate an email from the content of the contact form anyway, why not make it an encrypted mail? It's rather easy if you use mailx from the heirloom-mailx package that is part of Debian, Ubuntu and probably a lot of other Linux/BSD/UNIX distributions. Here are the required steps:
In ~/.mailrc:
set smime-ca-dir=/home/user/smime
set smime-ca-file=/home/user/smime/1_Intermediate.crt
set smime-encrypt-user@example.com=/home/user/smime/2_user@example.com.crt
Then every mail sent to user@example.com using "mailx" will be encrypted using S/MIME.Got no local MTA installed? You can make mailx send the mail directly via SMTP:
$ echo mail body | mailx -s "subject" -S smtp=mail.example.com:25 -S smtp-use-starttls user@example.com