It would be nice if mimemail theme had support for themekey user theme. Themekey user theme allow users to pick up their own theme. By looking at the recipient object (user), mimemail theme could pick the recipient's theme and use it for the e-mail.
I am using the subscription module to send digest every 2 weeks. Since the digest is sent by cron, the "current" theme is always the "default" theme, which is different from the user's theme. Obviously, I would prefer that all e-mail sent to a user uses the same theme.
I tried to modify mimemail.theme.inc for that purpose, but I am hitting a wall. The theme is decided in _mimemail_get_theme(), which as fas as I can see, does not support any kind of hook_XXX_alter yet (from the comment it is planed), and for the time being, only consider the global context (variables from the site) and not the local context (the message that is being sent).
It is trivial to add support for a $variables in the function _mimemail_get_theme and to call _mimemail_get_theme($variables) from template_preprocess_mimemail_message(). But, _mimemail_get_theme() is also being called from mimemail_theme_theme_registry_alter() and unfortunately, this hook is not aware of the local context, and I have no clue how to make it aware of the local context (message being sent).
At the moment, I am am able to send e-mail with the mail template from the current/default theme, but using the colors of the user's theme. It would not be an issue if the mail templates are identical, unfortunately, they are similar.
Any help or hint would be much appreciated.