Ensemble supports form creation through the HTML component and through the use of a PHP email page which appears to be hosted as an Ensemble page. Custom PHP is not supported in Ensemble.

You can either generate a form from scratch or you can take a already developed form and add the required fields.

If you need to use PHP other than the generic recaptcha mailer, you will want to maintain a second host using the Web Hosting service.

Our form email script uses a recaptcha component to dramatically curtail the amount of spam originated from forms. Recaptchas are small challenges which are used to determine whether one is a bot like a spammer or a human. Early generations asked users to decipher a word and also do some small amount of work for Google. For example, one might be asked what one word is to prove you are a human and another to assist in providing optical character recognition for a book or google maps. Newer versions of captchas might ask you to click a box to prove you are not a robot or may work entirely invisibly.

Like all of Ensemble, all connections internal to Ensemble must use https and not http. For links outside of Ensemble, we suggest that you test TLS support and use https if supported.

There is a limit of 50 input fields on this remailer.

Form fields are sorted alphabetically by name. You may want to add numbers padded with zeros to begin the names of optional form fields to generate them in a specific order.

The HTML for a form should look something like this:

<form method="post" action="https://www.vt.edu/mailer/generic-recaptcha-mailer.php">
<!-- required: secure post method to this fully qualified domain name and path -->

<input type="hidden" name="format" value="table" />
<!-- required field: value="text" also available -->

<input type="hidden" name="redirect" value="https://server.vt.edu/path/to/redirect.html" /> 
<!-- path to a page the user will be sent to after form submission -->

<input type="hidden" name="email" value="someone@vt.edu" />
<!-- required field: @vt.edu email that the form fields should be emailed to -->

<input type="hidden" name="from" value="someone.else@vt.edu" />
<!-- required field: populates the from address of email, any valid address -->

<input type="hidden" name="replyto" value="someone.else@vt.edu" />
<!-- set the @vt.edu replyto on the message or defaults to ensemble@vt.edu -->

<input type="hidden" name="subject" value="Event Submission Form" />
<!-- set the subject on the email -->

<input type="hidden" name="Event Registration" value="Event Registration" />
<!-- user defined hidden field -->

<div class="form-group">
<label for="name">Full Name:</label>
<input id="name" name="Name" class="form-control" type="text" />
</div>

<div class="form-group">
<label for="address">Address:</label>
<input id="address" name="Address" class="form-control" type="text" />
</div>

<div class="form-group">
<label for="city">City:</label>
<input id="city" name="City" class="form-control" type="text" />
</div>

<div class="form-group">
<label for="state">State:</label>
<input id="state" name="State" class="form-control" type="text" />
</div>

<div class="form-group">
<label for="zip">Zip:</label>
<input id="zip" name="Zip" class="form-control" type="text" />
</div>

<script type="text/javascript" src="https://www.google.com/recaptcha/api/challenge?k=6LeQyswSAAAAAHjM8pujTFGhF6uG4bdgeQbCLOWj">/**/</script>
<noscript>
<iframe src="https://www.google.com/recaptcha/api/noscript?k=6LeQyswSAAAAAHjM8pujTFGhF6uG4bdgeQbCLOWj" height="300" width="500" frameborder="0"></iframe>
<textarea cols="40" name="recaptcha_challenge_field" rows="3"></textarea>
<input name="recaptcha_response_field" type="hidden" value="manual_challenge" />
</noscript>
<!-- required recaptcha code -->

<input type="submit" value="Submit" />
<input type="reset" value="Reset" />
</form>