title: RabbitMQ using custom headers to store message-parameters
body: <p>I'm new to RabbitMQ, and I'm somewhat lost in the documentation.</p>
  <p>Currently, as an example, I'm trying to build a small mailer-service that listens to a queue, but I'm somewhat stuck on where I should put the parameters that my service has (destination, subject, ...)</p>
  <p>Should I put them inside some encoded format (json), inside my messages, or should I use the header-construction, like the following example:</p>
  <pre class="lang-cs prettyprint-override"><code>string message = &quot;Hello World!&quot;;
  var body = Encoding.UTF8.GetBytes(message);
  
  var properties = new BasicProperties();
  properties.Headers = new Dictionary&lt;string, object&gt;();
  properties.Headers.Add(&quot;destination&quot;, &quot;matthias123@localhost&quot;);
  
  channel.BasicPublish(exchange: &quot;&quot;, routingKey: &quot;sendmail&quot;, basicProperties: properties,body: body);
  </code></pre>
  <p>Does using the headers offer additional benefits? Like, for example, would it be possible to filter messages that are sent to a specific destination?</p>