
Example contact form screenshot
phdcc.ContactForm contact form for DotNetNuke (DNN) 5
This module provides a configurable DNN contact form.
Standard form fields, as seen by a user
- Name (prepopulated with DNN username, if logged in) *
- Email (prepopulated with DNN email, if logged in) *
- Subject *
- Category * (optional)
- Message *
- Send yourself a copy (optional)
- Simple CAPTCHA * (optional) eg copy a given number into the text box
- "Send Email" button
* means a required field, unless optionally removed.
Categories
A crucial feature is the ability to set up one or more categories of contact, each with one or more different email addresses, eg:
- Sales: sales@example.com
- Support: naomi@example.com; bert@example.com
- Feedback: web@example.com
The actual recipient emails are hidden from the user - and are not included in the copy email.
Features
- Easy to set up "contact us" form for a DNN website
- Easy setup using module settings
- Works immediately after adding to a page with no configuration, sending an email to the Portal Admininstrator
- Optionally protects against spam submission bots with a simple CAPTCHA human check, optionally disabled if a user is logged in
- Hides the recipient email address(es)
- Fully translatable/configurable, using standard local resource files
- Appearance configurable in module CSS file
- Works if user not logged in
- Works if JavaScript not enabled
- Logs IP address in email
- Separate contact forms can appear on separate pages
- Does not store message in database: it only sends emails
- Email send problems are logged as an Event Viewer Admin Alert
- XHTML and CSS standards compliant
- Written in C# with full source included

Configuring the contact form screenshot
Configuration options
Per instance
- Form header information
- Form header instructions
- Send copy email by default
- Show copy email option
- Hourly send threshold: Not implemented yet
- Optional CAPTCHA
Categories per instance
- Description
- Recipient email(s)
- Selected by default
Customisable/Localisable text strings
- Name prompt, ie "Your name:"
- Email prompt, ie "Your email address:"
- Subject prompt, ie "Subject:"
- Category prompt, ie "Category:"
- Message prompt, ie "Message:"
- Copy email prompt, ie "Send yourself a copy:"
- CAPTCHA prompt, ie "To stop spam, please enter this number:"
- Send Email button text, ie "Send Email"
- Required title text, ie "This field is required"
- Field missing error message, ie "Please enter a value in this field."
- Bad email error message, ie "Please enter a valid email address."
- Nothing selected error message, ie "Please select a category."
- Text within email, ie "sent a message using the contact form at"
- Message sent OK, ie "Your message has been sent."
- Message not sent OK, ie "Sorry, this error occurred when sending your message:"
- Copy of message not sent OK, ie "However, sending the copy email to you failed with this error:"
- Button text to send another, ie "Send another message"
Appearance customisation
The appearance of the form can be customised in many ways by altering the module.css file.
Notes
To do
- Implement HourlyThreshold
- Import/Export facility
Later
- Non-DNN version, ie a standalone web app
- Do validation and send using JavaScript/jquery/ajax - set focus on error
- Add extra user fields
- Incorporate a form theme engine
Version history
29 April 2011, v1.0.5, Chris Cant, first release.
3 May 2011, v1.0.6, Chris Cant, Header information and instructions aren't wrapped in a SPAN.
3 May 2011, v1.0.7, Chris Cant, Message has correct associated label.
Licence