diff --git mimemail.inc mimemail.inc
index 387ac80..a920710 100644
--- mimemail.inc
+++ mimemail.inc
@@ -311,13 +311,9 @@ function _mimemail_expand_links($matches) {
  * image/attachment
  */
 function mimemail_html_body($body, $subject, $plaintext = FALSE, $text = NULL, $attachments = array()) {
-  if (empty($text)) {
-    // todo: remove this preg_replace once filter_xss() is properly handling
-    // direct descendant css selectors '>' in inline CSS. For now this cleans
-    // up our plain text part. See mimemail #364198, drupal #370903
-    $text = preg_replace('|<style.*?</style>|mis', '', $body);
-    $text = drupal_html_to_text($text);
-  }
+
+  $text = empty($text) ? drupal_html_to_text($body) : $text; 
+
   if ($plaintext) {
     //Plain mail without attachment
     if (empty($attachments)) {
diff --git mimemail.module mimemail.module
index 91e5929..e356e09 100644
--- mimemail.module
+++ mimemail.module
@@ -395,8 +395,10 @@ if (strpos(variable_get('smtp_library', ''), 'mimemail') !== FALSE
       $body = $message['body'];
     }
     $headers = isset($message['headers']) ? $message['headers'] : array();
+    $plaintext = isset($message['plaintext']) ? $message['plaintext'] : NULL;
+    $text =  isset($message['text']) ? $message['text'] : NULL;
     $attachments = isset($message['attachments']) ? $message['attachments'] : array();
     $mailkey = isset($message['id']) ? $message['id'] : '';
-    return mimemail($from, $to, $subject, $body, NULL, $headers, NULL, $attachments, $mailkey);
+    return mimemail($from, $to, $subject, $body, $plaintext, $headers, $text, $attachments, $mailkey);
   }
 }
