HTML Mail not working with custom module
The configuration can be done through the Mail System UI.  Here is how I send HTML messages with a custom module without a template.

First, install HTML Mail and Mail System as you already have.

Next, create your module and implement hook_mail() and add an identifier (key) to use when sending.

function hook_mail($key, &amp;$message, $params) {
  switch ($key) {
    case 'MODULE_unique_sending_key':
      $message['Reply-To'] = $params['Reply-To'];
      $message['subject'] = $params['subject'];
      $message['body'] = $params['body'];
      $message['headers']['Reply-To'] = $params['Reply-To'];
      break;
    }
}


Next, implement drupal_mail().

$key = 'MODULE_unique_sending_key';
$message = drupal_mail('MODULE', $key, $to, LANGUAGE_NONE, $params, $from);


Lastly, you will need to tell Drupal to use the HTMLMailSystem to send when using the 'MODULE_unique_sending_key' key.  

To do this, go to admin/config/system/mailsystem and go to 'New Setting.'

Under module, choose your custom module.

Under Key, enter your unique message identifier you used in drupal_mail().



Now, while still on the admin/config/system/mailsystem page look under 'MAIL SYSTEM SETTINGS' look for the Module+Key combination you just created.

From here, you will need to select the HTMLMailSystem as your sending class.  Save and test your module.  HTML mail should now be working without using a template.