diff -urp ./components/file.inc ./components/file.inc
--- ./components/file.inc	2010-02-09 20:03:27.000000000 -0800
+++ ./components/file.inc	2010-02-14 23:49:26.000000000 -0800
@@ -494,9 +494,11 @@ function _webform_display_file($componen
  * Format the output of text data for this component
  */
 function theme_webform_display_file($element) {
+  $template_output_style = variable_get('webform_template_output_style', 'text');
   $file = $element['#value'];
   $url = !empty($file) ? webform_file_url($file->filepath) : t('no upload');
-  return !empty($file) ? ($element['#format'] == 'text' ? $url : l($file->filename, $url)) : ' ';
+  if ($template_output_style == 'html') { return !empty($file) ? ($element['#format'] == 'html' ? $url : l($file->filename, $url)) : ' '; }
+  else { return !empty($file) ? ($element['#format'] == 'text' ? $url : l($file->filename, $url)) : ' '; }
 }
 
 /**
diff -urp ./components/grid.inc ./components/grid.inc
--- ./components/grid.inc	2010-02-09 18:04:53.000000000 -0800
+++ ./components/grid.inc	2010-02-14 18:53:06.000000000 -0800
@@ -180,6 +180,7 @@ function _webform_display_grid($componen
  * Format the text output for this component.
  */
 function theme_webform_display_grid($element) {
+  $template_output_style = variable_get('webform_template_output_style', 'text');
   $component = $element['#component'];
   $format = $element['#format'];
 
@@ -209,9 +210,17 @@ function theme_webform_display_grid($ele
   else {
     $items = array();
     foreach (element_children($element) as $key) {
-      $items[] = ' - ' . $element[$key]['#title'] . ': ' . $element[$key]['#value'];
+      if ($template_output_style == 'html') {
+        $items[] = '<li><span class="title">' . $element[$key]['#title'] . ':</span> ' . $element[$key]['#value'];
+      } else {
+        $items[] = ' - ' . $element[$key]['#title'] . ': ' . $element[$key]['#value'];
+      }
     }
-    $output = implode("\n", $items);
+      if ($template_output_style == 'html') {
+        $output = '<ul class="grid">' . implode("</li>\n", $items) . '</li></ul>';
+      } else {
+        $output = implode("\n", $items);
+      }
   }
 
   return $output;
diff -urp ./components/select.inc ./components/select.inc
--- ./components/select.inc	2010-02-12 01:35:27.000000000 -0800
+++ ./components/select.inc	2010-02-14 18:52:12.000000000 -0800
@@ -460,6 +460,7 @@ function _webform_form_builder_save_sele
  * Format the text output for this component.
  */
 function theme_webform_display_select($element) {
+  $template_output_style = variable_get('webform_template_output_style', 'text');
   $component = $element['#component'];
 
   // Convert submitted 'safe' values to un-edited, original form.
@@ -499,9 +500,17 @@ function theme_webform_display_select($e
   else {
     if (count($items) > 1) {
       foreach ($items as $key => $item) {
-        $items[$key] = ' - ' . $item;
+        if ($template_output_style == 'html') {
+          $items[$key] = '<li><span class="title">' . $items[$key] . ':</span> ' . $item;
+        } else {
+          $items[$key] = ' - ' . $item;
+        }
+      }
+      if ($template_output_style == 'html') {
+        $output = '<ul class="select">' . implode("</li>\n", $items) . '</li></ul>';
+      } else {
+        $output = implode("\n", $items);
       }
-      $output = implode("\n", $items);
     }
     else {
       $output = isset($items[0]) ? $items[0] : ' ';
diff -urp ./includes/webform.admin.inc ./includes/webform.admin.inc
--- ./includes/webform.admin.inc	2010-02-11 22:57:35.000000000 -0800
+++ ./includes/webform.admin.inc	2010-02-14 23:57:17.000000000 -0800
@@ -119,6 +119,17 @@ function webform_admin_settings() {
     ),
   );
 
+  $form['advanced']['webform_template_output_style']  = array(
+    '#type' => 'select',
+    '#title' => t('Default Template Variable Output Style'),
+    '#description' => t('This is the default output style for the email values token (%email_values) used in the email output. If you are using an HTML email output module like <a href="http://drupal.org/project/mimemail">Mime Mail</a> to modify all your email to be HTML format, you may want the body of your email template to be in HTML format. Otherwise, you should leave this as Plain Text.'),
+    '#default_value' => variable_get('webform_template_output_style', 'text'),
+    '#options' => array(
+      'text'  => t('Plain Text'),
+      'html' => t('HTML'),
+    ),
+  );
+
   $form['advanced']['webform_submission_access_control']  = array(
     '#type' => 'radios',
     '#title' => t('Submission access control'),
diff -urp ./templates/webform-mail.tpl.php ./templates/webform-mail.tpl.php
--- ./templates/webform-mail.tpl.php	2010-01-13 22:12:47.000000000 -0800
+++ ./templates/webform-mail.tpl.php	2010-02-14 23:54:49.000000000 -0800
@@ -34,8 +34,13 @@
 
 <?php print t('Submitted values are') ?>:
 
+/** if using HTML as your email output type, uncomment the unordered list tags below. **/
+/*  <ul>   */
+
 %email_values
 
+/*  </ul>  */
+
 <?php print t('The results of this submission may be viewed at:') ?>
 
 %submission_url
diff -urp ./webform.install ./webform.install
--- ./webform.install	2010-02-11 15:31:11.000000000 -0800
+++ ./webform.install	2010-02-14 14:20:55.000000000 -0800
@@ -367,6 +367,7 @@ function webform_uninstall() {
   variable_del('webform_default_from_name');
   variable_del('webform_default_subject');
   variable_del('webform_csv_delimiter');
+  variable_del('webform_template_output_style');
 
   $component_list = array();
   $path = drupal_get_path('module', 'webform') .'/components';
diff -urp ./webform.module ./webform.module
--- ./webform.module	2010-02-11 22:57:35.000000000 -0800
+++ ./webform.module	2010-02-14 19:26:02.000000000 -0800
@@ -2041,27 +2041,41 @@ function theme_webform_element($element,
 }
 
 /**
- * Output a form element in plain text format.
+ * Output a form element in plain text or html format.
  */
 function theme_webform_element_text($element, $value) {
+  $template_output_style = variable_get('webform_template_output_style', 'text');
   $output = '';
 
   // Output the element title.
   if (isset($element['#title'])) {
     if ($element['#component']['type'] == 'fieldset') {
-      $output .= '--' . $element['#title'] . '--';
+      if ($template_output_style == 'html') {
+        $output .= '<li><ul class="fieldset"><li class="fieldset"><span class="title">' . $element['#title'] . '</span></li>';
+      } else {
+        $output .= '--' . $element['#title'] . '--';
+      }
     }
     elseif (!in_array(substr(0, -1, $element['#title']), array('?', ':', '!', '%', ';', '@'))) {
-      $output .= $element['#title'] . ':';
+      if ($template_output_style == 'html') {
+        $output .= '<li class="field"><span class="title">' . $element['#title'] . ':</span>';
+      } else {
+        $output .= $element['#title'] . ':';
+      }
     }
     else {
-      $output .= $element['#title'];
+      if ($template_output_style == 'html') {
+        $output .= '<li class="field"><span class="title empty">' . $element['#title'] . '</span>';
+      } else {
+        $output .= $element['#title'];
+      }
     }
   }
 
   // Wrap long values at 65 characters, allowing for a few fieldset indents.
   // It's common courtesy to wrap at 75 characters in e-mails.
   if ($element['#component']['type'] != 'fieldset' && strlen($value) > 65) {
+    if (($template_output_style == 'html') && ($element['#component']['type'] == 'textarea')) {$value = nl2br($value);}
     $value = wordwrap($value, 65, "\n");
     $lines = explode("\n", $value);
     foreach ($lines as $key => $line) {
@@ -2084,11 +2098,11 @@ function theme_webform_element_text($ele
       }
     }
     $output = implode("\n", $lines);
-    $output .= "\n";
+    $output .= "</ul>\n";
   }
 
   if ($output) {
-    $output .= "\n";
+    if ($template_output_style == 'html') { $output .= "</li>\n"; } else { $output .= "\n"; }
   }
 
   return $output;
Only in .: webform3_html_patch_20100215a.patch
