Currently, it's not possible to set up HTML-based auto-reply messages on shared or resource mailboxes, as you cannot directly log on to OWA to set the message. Through Powershell, you can do this quite easily.
First, create two HTML-files containing your internal and external message. You do not have to specify the <html> and <body> tags. Save these to a convenient location. Be sure to save them as regular text files, with extension .txt.
cd to the location of the two message files, and load them to variables:
$internalmessage = Get-Content -Path internalmessage.txt
$externalmessage = Get-Content -Path externalmessage.txt
If you only have one (internal/external), skip the step, and omit the parameter in the cmdlet below.
Next, set the actual auto-reply messages to the shared mailbox, and enable auto-reply:
Set-MailboxAutoReplyConfiguration <your-shared-mailbox> -AutoReplyState enabled -ExternalAudience all -InternalMessage "$internalmessage" -ExternalMessage "$externalmessage"
As said earlier, omit the InternalMessage or ExternalMessage parameter if you do not have a message for them. Also, it's important to mind the quotes around the message variables.
You can verify the status of the auto-reply through another cmdlet:
Naturally, all of the above also works for regular mailboxes. You can use these cmdlets to set Out-of-Office replies for any mailbox. Additionally, these cmdlets also work on regular Exchange (2010/2013), and work exactly the same.
EDIT: added .txt extension requirement, added reference to Exchange and minor fixes to article layout.