diff --git a/reroute_email.module b/reroute_email.module
index 3eb5652..e8b3e7a 100644
--- a/reroute_email.module
+++ b/reroute_email.module
@@ -2,8 +2,10 @@
 
 
 define('REROUTE_EMAIL_ADDRESS', 'reroute_email_address');
+define('REROUTE_EMAIL_ENABLE_MESSAGE', 'reroute_email_enable_message');
 define('REROUTE_EMAIL_ENABLE',  'reroute_email_enable');
 
+
 /**
  * Implementation of hook_perm().
  */
@@ -34,13 +36,20 @@ function reroute_email_settings() {
     '#rows'          => 5,
     '#description'   => t('Provide a list of email addresses to pass through. Any email addresses not on this list will be rerouted to the first address on the list.')
   );
-  
+
+  $form[REROUTE_EMAIL_ENABLE_MESSAGE] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Show message in mail body'),
+    '#default_value' => variable_get(REROUTE_EMAIL_ENABLE_MESSAGE, 1),
+    '#description' => t('Check this box if you want a message to be prepended to the email body when the mail is being rerouted.'),
+  );
+
   $form[REROUTE_EMAIL_ENABLE] = array(
     '#type'          => 'checkbox',
     '#title'         => t('Enable routing'),
     '#default_value' => variable_get(REROUTE_EMAIL_ENABLE, 1),
     '#description'   => t('Check this box if you want to enable email rerouting. Uncheck to disable rerouting.'),
-  );  
+  );
 
   return system_settings_form($form);
 }
@@ -57,7 +66,7 @@ function reroute_email_mail_alter(&$message) {
     if (empty($message)) {
       return;
     }
-  
+
     if (!is_array($message)) {
       return;
     }
@@ -65,36 +74,41 @@ function reroute_email_mail_alter(&$message) {
     $mailkey = isset($message['id']) ? $message['id'] : t('<mail id> is missing');
     $to = isset($message['to']) ? $message['to'] : t('<to> is missing');
 
+    $message['headers']['X-Rerouted-Mail-Key'] = $mailkey;
+    $message['headers']['X-Rerouted-Website'] = $base_url;
+
     // Suppress Bcc and Cc fields otherwise email will still go out to those addresses
     if (isset($message['headers']) && is_array($message['headers'])) {
       if (isset($message['headers']['Bcc'])) {
+        $message['headers']['X-Rerouted-Original-Bcc'] = $message['headers']['Bcc'];
         unset($message['headers']['Bcc']);
       }
       if (isset($message['headers']['Cc'])) {
+        $message['headers']['X-Rerouted-Original-Cc'] = $message['headers']['Cc'];
         unset($message['headers']['Cc']);
       }
     }
-  
+
     // Split the address string on whitespace, ignoring any empty results
     $addresslist = preg_split('/\s/', variable_get(REROUTE_EMAIL_ADDRESS, ini_get('sendmail_from')), -1, PREG_SPLIT_NO_EMPTY);
 
-    if (in_array($to, $addresslist)) {
-      // To address is in the pass-through list, let it pass through
-      $message['to'] = $to;
-    }
-    else {
+    if (!in_array($to, $addresslist)) {
       // Not on the list, so reroute to the first address in the list
+      $message['headers']['X-Rerouted-Original-To'] = $to;
       $message['to'] = $addresslist[0];
-      // Format a message to show at the top
-      $msg[] = t("This email was rerouted.");
-      $msg[] = t("Web site: @site", array('@site' => $base_url));
-      $msg[] = t("Mail key: @key", array('@key' => $mailkey));
-      $msg[] = t("Originally to: @to", array('@to' => $to));
-      $msg[] = "-----------------------";
-
-      // Prepend to the body of the email
-      // -- I really think we should simply this a bit -- Khalid
-      $message['body'] = array_merge($msg, isset($message['body']) ? (is_array($message['body']) ? $message['body'] : array($message['body'])) : array());
+
+      if (variable_get(REROUTE_EMAIL_ENABLE_MESSAGE, 1)) {
+        // Format a message to show at the top
+        $msg[] = t("This email was rerouted.");
+        $msg[] = t("Web site: @site", array('@site' => $base_url));
+        $msg[] = t("Mail key: @key", array('@key' => $mailkey));
+        $msg[] = t("Originally to: @to", array('@to' => $to));
+        $msg[] = "-----------------------";
+
+        // Prepend to the body of the email
+        // -- I really think we should simply this a bit -- Khalid
+        $message['body'] = array_merge($msg, isset($message['body']) ? (is_array($message['body']) ? $message['body'] : array($message['body'])) : array());
+      }
     }
   }
 }
