diff -Naur contact.orig/contact.admin.inc contact/contact.admin.inc
--- contact.orig/contact.admin.inc	2007-11-09 08:55:13.000000000 +0100
+++ contact/contact.admin.inc	2009-01-30 09:32:52.000000000 +0100
@@ -32,6 +32,7 @@
       'reply' => '',
       'weight' => 0,
       'selected' => 0,
+      'fromdrupal' => 0,
       'cid' => NULL,
     );
   }
@@ -54,6 +55,11 @@
     '#default_value' => $contact['reply'],
     '#description' => t('Optional auto-reply. Leave empty if you do not want to send the user an auto-reply message.'),
   );
+  $form['fromdrupal'] = array('#type' => 'checkbox',
+    '#title' => t('Drupal is the sender'),
+    '#default_value' => $contact['fromdrupal'],
+    '#description' => t('If checked, the mail sender is drupal itself and the address specified in the contact form is the reply-to address.'),
+  );
   $form['weight'] = array('#type' => 'weight',
     '#title' => t('Weight'),
     '#default_value' => $contact['weight'],
diff -Naur contact.orig/contact.install contact/contact.install
--- contact.orig/contact.install	2009-01-06 16:46:36.000000000 +0100
+++ contact/contact.install	2009-01-30 09:39:04.000000000 +0100
@@ -67,6 +67,13 @@
         'size' => 'tiny',
         'description' => 'Flag to indicate whether or not category is selected by default. (1 = Yes, 0 = No)',
       ),
+      'fromdrupal' => array(
+        'type' => 'int',
+        'not null' => TRUE,
+        'default' => 0,
+        'size' => 'tiny',
+        'description' => 'Flag to indicate whether or not drupal is the mail sender. (1 = Yes, 0 = No)',
+      ),
     ),
     'primary key' => array('cid'),
     'unique keys' => array(
diff -Naur contact.orig/contact.module contact/contact.module
--- contact.orig/contact.module	2008-04-09 23:11:46.000000000 +0200
+++ contact/contact.module	2009-01-30 10:16:37.000000000 +0100
@@ -170,6 +170,9 @@
     case 'page_copy':
       $contact = $params['contact'];
       $message['subject'] .= t('[!category] !subject', array('!category' => $contact['category'], '!subject' => $params['subject']), $language->language);
+      if ($contact['fromdrupal']) {
+         $message['headers']['From'] = variable_get('site_mail', FALSE);
+      }
       $message['body'][] = t("!name sent a message using the contact form at !form.", array('!name' => $params['name'], '!form' => url($_GET['q'], array('absolute' => TRUE, 'language' => $language))), $language->language);
       $message['body'][] = $params['message'];
       break;
