=== modified file sites/all/modules/support/support.admin.inc
--- sites/all/modules/support/support.admin.inc	2012-06-11 18:13:15 +0000
+++ sites/all/modules/support/support.admin.inc	2012-06-11 16:50:13 +0000
@@ -496,6 +496,12 @@
     '#description' => t('When checked, support will try to download client emails each time cron is run.  You may want to disable this if you are not integrating support with email, or if you only wish to download mail manually or via the !path.  If automating the download of mail through the support fetch mail path, be sure to !assign permissions to the necessary role(s).', array('!path' => l(t('support fetch mail path'), 'support/fetch'), '!assign' => l(t('assign "download mail via support/fetch"'), 'admin/people/permissions', array('fragment' => 'module-support')))),
     '#default_value' => variable_get('support_cron_download_mail', TRUE),
   );
+  $form['mail']['support_use_mail_time'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Use mails send time for tickets and tickets\'s comments'),
+    '#description' => t('When checked, support will try to use fetched mails send date as tickets and tickets\' comments creation and update time. which means no matter when you fetch emails , created tickets always match the the time when mails are actually sent and not when they are downloaded from mail server'),
+    '#default_value' => variable_get('support_use_mail_time', FALSE),
+  );
   $form['mail']['support_global_domains'] = array(
     '#type' => 'textfield',
     '#title' => t('Globally allowed domains'),

=== modified file sites/all/modules/support/support.install
--- sites/all/modules/support/support.install	2012-06-11 18:04:01 +0000
+++ sites/all/modules/support/support.install	2012-06-11 18:41:11 +0000
@@ -469,7 +469,7 @@
   ->execute();
 
   // Cleanup old support module variables.
-  foreach (array('support_admin_notify', 'support_autoassign_ticket', 'support_autocomplete_limit', 'support_autocreate_users', 'support_autosubscribe_assigned', 'support_autosubscribe_creator', 'support_autosubscribe_force', 'support_cron_download_mail', 'support_default_sort_order', 'support_default_sort_tickets', 'support_disable_comment_reply', 'support_disable_post_comment', 'support_display_user_links', 'support_global_domains', 'support_global_mailfrom', 'support_notifications', 'support_override_block', 'support_override_theme', 'support_remove_tickets', 'support_require_comment', 'support_secondary_sort_order', 'support_secondary_sort_tickets', 'support_thread_by_mail_headers', 'support_thread_by_subject', 'support_use_aliased_urls', 'support_key', 'support_mail_ticket_comment_new_body', 'support_mail_ticket_comment_new_subject', 'support_mail_ticket_deny_body', 'support_mail_ticket_deny_subject', 'support_mail_ticket_new_body', 'support_mail_ticket_new_subject') as $variable) {
+  foreach (array('support_admin_notify', 'support_autoassign_ticket', 'support_autocomplete_limit', 'support_autocreate_users', 'support_autosubscribe_assigned', 'support_autosubscribe_creator', 'support_autosubscribe_force', 'support_cron_download_mail', 'support_use_mail_time', 'support_default_sort_order', 'support_default_sort_tickets', 'support_disable_comment_reply', 'support_disable_post_comment', 'support_display_user_links', 'support_global_domains', 'support_global_mailfrom', 'support_notifications', 'support_override_block', 'support_override_theme', 'support_remove_tickets', 'support_require_comment', 'support_secondary_sort_order', 'support_secondary_sort_tickets', 'support_thread_by_mail_headers', 'support_thread_by_subject', 'support_use_aliased_urls', 'support_key', 'support_mail_ticket_comment_new_body', 'support_mail_ticket_comment_new_subject', 'support_mail_ticket_deny_body', 'support_mail_ticket_deny_subject', 'support_mail_ticket_new_body', 'support_mail_ticket_new_subject') as $variable) {
     variable_del($variable);
   }
 

=== modified file sites/all/modules/support/support.module
--- sites/all/modules/support/support.module	2012-06-11 18:13:15 +0000
+++ sites/all/modules/support/support.module	2012-06-11 18:38:15 +0000
@@ -1647,6 +1647,19 @@
     $message_id = NULL;
   }
 
+  $mail_timestamp=null;
+  if (variable_get('support_use_mail_time', FALSE)) {
+    if (!property_exists($message['headers'], 'date')) {
+      watchdog('support','It seems that the mail has no date property in header',array(),WATCHDOG_ERROR);
+    }
+    elseif (!strtotime($message['headers']->date)>0) {
+      watchdog('support','Unable to convert mail date "%date" to timestamp',array('%date' => $message['headers']->date),WATCHDOG_ERROR);
+    }
+    else {
+      $mail_timestamp = strtotime($message['headers']->date);
+    }
+  }
+
   if (is_object($account) && is_object($ticket) && $ticket->nid) {
     // by retrieving the maximum thread level.
     $max = db_query('SELECT MAX(thread) FROM {comment} WHERE nid = :nid', array(':nid' => $ticket->nid))->fetchField();
@@ -1685,6 +1698,10 @@
     $comment->assigned = isset($message['assigned']) ? $message['assigned'] : $ticket->assigned;
     $comment->notification = db_query('SELECT 1 FROM {support_assigned} WHERE nid = :nid AND uid = :uid', array(':nid' => $ticket->nid, ':uid' => $account->uid))->fetchField();
     $comment->support_email = 1;
+    if (!is_null($mail_timestamp)) {
+        $comment->created = $mail_timestamp;
+        $comment->changed = $mail_timestamp;
+    }
     if (isset($message['suppress'])) {
       $comment->suppress = $message['suppress'];
     }
@@ -1732,6 +1749,10 @@
     $node->assigned = _support_autoassign($client->clid, $account->uid);
     $node->notification = TRUE;
     $node->support_email = TRUE;
+    if (!is_null($mail_timestamp)) {
+        $node->created = $mail_timestamp;
+        $node->changed = $mail_timestamp;
+    }
     if ($upload_field = _support_upload_field_name('node')) {
       if (!empty($message['attachments'])) {
         $node->{$upload_field} = _support_save_attachments($message['attachments'], $account, 'node');

