### Eclipse Workspace Patch 1.0
#P mimemail
Index: includes/mimemail.rules.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/mimemail/includes/mimemail.rules.inc,v
retrieving revision 1.2
diff -u -r1.2 mimemail.rules.inc
--- includes/mimemail.rules.inc	13 Jan 2011 10:34:16 -0000	1.2
+++ includes/mimemail.rules.inc	18 Jan 2011 16:45:59 -0000
@@ -19,17 +19,17 @@
         'user' => array('type' => 'user', 'label' => t('Recipient')),
       ),
       'module' => 'Mime Mail',
-      'eval input' => array('from', 'to', 'cc', 'bcc', 'subject', 'message_html', 'message_plaintext', 'attachments'),
+      'eval input' => array('from_name', 'from_mail', 'to', 'cc', 'bcc', 'subject', 'message_html', 'message_plaintext', 'attachments'),
     ),
     'mimemail_rules_action_mail' => array(
       'label' => t('Send an HTML mail to an arbitrary mail address'),
       'module' => 'Mime Mail',
-      'eval input' => array('from', 'to', 'cc', 'bcc', 'subject', 'message_html', 'message_plaintext', 'attachments'),
+      'eval input' => array('from_name', 'from_mail', 'to', 'cc', 'bcc', 'subject', 'message_html', 'message_plaintext', 'attachments'),
     ),
     'mimemail_rules_action_mail_to_users_of_role' => array(
       'label' => t('Send an HTML mail to all users of a role'),
       'module' => 'Mime Mail',
-      'eval input' => array('from', 'to', 'cc', 'bcc', 'subject', 'message_html', 'message_plaintext', 'attachments'),
+      'eval input' => array('from_name', 'from_mail', 'to', 'cc', 'bcc', 'subject', 'message_html', 'message_plaintext', 'attachments'),
     ),
   );
 }
@@ -40,13 +40,22 @@
 function mimemail_rules_action_mail_to_user($user, $settings) {
   // Process settings.
   $settings = mimemail_rules_form_settings_process($settings);
-  $from = $settings['from'];
   $subject = $settings['subject'];
   $body = $settings['message_html'];
   $plaintext = $settings['message_plaintext'];
   $attachments = $settings['attachments'];
   $mailkey = 'mimemail_rules_action_mail';
 
+  if (empty($settings['from_name']) && empty($settings['from_mail'])) {
+    $from = NULL;
+  }
+  else {
+    $from = array(
+      'name' => $settings['from_name'],
+      'mail' => $settings['from_mail'],
+    );
+  }
+
   // If recipient field is empty send it to given user object.
   $to = empty($settings['to']) ? $user->mail : implode(',', $settings['to']);
 
@@ -92,13 +101,22 @@
 
   // Process settings.
   $settings = mimemail_rules_form_settings_process($settings);
-  $from = $settings['from'];
   $subject = $settings['subject'];
   $body = $settings['message_html'];
   $plaintext = $settings['message_plaintext'];
   $attachments = $settings['attachments'];
   $mailkey = 'mimemail_rules_action_role_mail';
 
+  if (empty($settings['from_name']) && empty($settings['from_mail'])) {
+    $from = NULL;
+  }
+  else {
+    $from = array(
+      'name' => $settings['from_name'],
+      'mail' => $settings['from_mail'],
+    );
+  }
+
   // Now, actually send the mails.
   $status = TRUE;
   while (($account = db_fetch_object($result)) && !empty($status)) {
@@ -130,7 +148,8 @@
     $settings['bcc'][$key] = str_replace(array("\r", "\n"), '', trim($address));
   }
 
-  $settings['from'] = str_replace(array("\r", "\n"), '', $settings['from']);
+  $settings['from_name'] = str_replace(array("\r", "\n"), '', $settings['from_name']);
+  $settings['from_mail'] = str_replace(array("\r", "\n"), '', $settings['from_mail']);
   $settings['subject'] = str_replace(array("\r", "\n"), '', $settings['subject']);
 
   $attachments = array();
Index: includes/mimemail.rules_forms.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/mimemail/includes/mimemail.rules_forms.inc,v
retrieving revision 1.4
diff -u -r1.4 mimemail.rules_forms.inc
--- includes/mimemail.rules_forms.inc	13 Jan 2011 10:34:16 -0000	1.4
+++ includes/mimemail.rules_forms.inc	18 Jan 2011 16:45:59 -0000
@@ -13,11 +13,17 @@
  */
 function mimemail_rules_action_mail_to_user_form($settings = array(), &$form) {
   $settings += array('from' => '', 'subject' => '', 'message_html' => '', 'message_plaintext' => '', 'attachments' => '');
-  $form['settings']['from'] = array(
+  $form['settings']['from_name'] = array(
     '#type' => 'textfield',
-    '#title' => t('Sender'),
-    '#default_value' => $settings['from'],
-    '#description' => t("The mail's from address. Leave it empty to use the site-wide configured address."),
+    '#title' => t('Sender name'),
+    '#default_value' => $settings['from_name'],
+    '#description' => t("The sender's name. Leave it empty to use the site-wide configured name."),
+  );
+  $form['settings']['from_mail'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Sender e-mail address'),
+    '#default_value' => $settings['from_mail'],
+    '#description' => t("The sender's address. Leave it empty to use the site-wide configured address."),
   );
   $form['settings']['subject'] = array(
     '#type' => 'textfield',
Index: mimemail.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/mimemail/mimemail.module,v
retrieving revision 1.57
diff -u -r1.57 mimemail.module
--- mimemail.module	13 Jan 2011 10:34:16 -0000	1.57
+++ mimemail.module	18 Jan 2011 16:45:59 -0000
@@ -107,12 +107,21 @@
   $site_mail = variable_get('site_mail', ini_get('sendmail_from'));
 
   // Override site mails default sender when using default engine.
-  if ((empty($sender) || $sender == $site_mail)
-      && variable_get('mimemail_engine', 'mimemail') == 'mimemail') {
-    $sender = array(
-      'name' => variable_get('mimemail_name', $site_name),
-      'mail' => variable_get('mimemail_mail', $site_mail),
-    );
+  if (variable_get('mimemail_engine', 'mimemail') == 'mimemail') {
+    if ((empty($sender) || $sender == $site_mail)) {
+      $sender = array(
+        'name' => variable_get('mimemail_name', $site_name),
+        'mail' => variable_get('mimemail_mail', $site_mail),
+      );
+    }
+    elseif (is_array($sender)) {
+      if (empty($sender['name'])) {
+        $sender['name'] = variable_get('mimemail_name', $site_name);
+      }
+      if (empty($sender['mail'])) {
+        $sender['mail'] = variable_get('mimemail_mail', $site_mail);
+      }
+    }
   }
 
   // Body is empty, this is a plaintext message.
