--- messaging.admin.inc	Thu Apr 30 05:42:35 2009
+++ messaging.admin.inc	Thu Aug 20 21:06:01 2009
@@ -250,6 +250,18 @@
     '#options' => $methods,
     '#default_value' => variable_get('messaging_default_method', ''),
   );
+  $form['general']['messaging_sender_name'] = array(
+    '#title' => t('Format for sender name'),
+    '#type' => 'textfield',
+    '#size' => 10,
+    '#default_value' => variable_get('messaging_sender_name', '[user]'),
+  );
+  $form['general']['messaging_sender_mail'] = array(
+    '#title' => t('Format for sender email address'),
+    '#type' => 'textfield',
+    '#size' => 10,
+    '#default_value' => variable_get('messaging_sender_mail', '[mail]'),
+  );
   // Logging settings  
   $period = array(0 => t('Disabled')) + drupal_map_assoc(array(3600, 10800, 21600, 32400, 43200, 86400, 172800, 259200, 604800, 1209600, 2419200, 4838400, 9676800), 'format_interval');
   $form['general']['messaging_log'] = array(
@@ -289,6 +301,19 @@
     '#default_value' => $limit['percent'],
     '#description' => t('Maximum percentage of cron time the process may use.'),
   );
+  if (module_exists('token')) {
+    $form['view']['token_help'] = array(
+      '#title' => t('Replacement patterns'),
+      '#type' => 'fieldset',
+      '#collapsible' => TRUE,
+      '#collapsed' => TRUE,
+//      '#description' => t('Prefer raw-text replacements for text to avoid problems with HTML entities!'),
+      );
+
+    $form['view']['token_help']['help'] = array(
+      '#value' => theme('token_help', 'user'),
+      );
+  }
   return system_settings_form($form);
 }
 
--- messaging.mail.inc	Sat Jun 13 09:49:13 2009
+++ messaging.mail.inc	Thu Aug 20 21:11:15 2009
@@ -27,9 +27,10 @@
   
   if (empty($params['from'])) {
     if (!empty($message->sender_account) && !empty($message->sender_account->mail)) {
-      $from = check_plain($message->sender_account->name) . ' <'.$message->sender_account->mail.'>';
+      $from_format = variable_get('messaging_sender_name', '[user]') . ' <' . variable_get('messaging_sender_mail', '[mail]') . '>';
+      $from = token_replace($from_format, 'user', $message->sender_account);
     } elseif(!empty($message->sender_name) && $default_from) {
-      $from = check_plain($message->sender_name) . ' <'.$default_from.'>';
+      $from = token_replace('[user]', 'user', $message->sender_account) . ' <'.$default_from.'>';
     } else {
       $from = $default_from;
     }
