Попробуйте использовать BinaryMessageFormatter следующим образом (и аналогично на принимающей стороне):
using (MessageQueue queue = new MessageQueue(".\\Private$\\msmq1"))
{
queue.Formatter = new BinaryMessageFormatter();
using (Message message = new Message())
{
message.Body = "<html><body>my html here</body></html>;
message.Recoverable = true;
message.Formatter = new BinaryMessageFormatter();
message.TimeToBeReceived = TimeSpan.MaxValue;
queue.Send(message);
}
}
Или создайте MsmqTransportObject со свойством Html String и передайте его вместо этого.
XmlMessageFormatter не имеет смысла, если отправляющая и получающая стороны используют .NET (в этом случае вы можете безопасно использовать BinaryMessageFormatter)