The problem that you have here is that you're trying to hide a complex object inside a simple representation. Rather than passing a string around, you should make a data contract that encapsulates the email message. Something like this perhaps:
[DataContract]
public class EmailMessage
{
[DataMember(Name = "MachineName", EmitDefaultValue = false)]
public string MachineName { get; set; }
[DataMember(Name = "MachineName", EmitDefaultValue = false)]
public string PostMessage { get; set; }
[DataMember(Name = "MachineName", EmitDefaultValue = false)]
public List<string> EmailAddresses { get; set; }
[DataMember(Name = "MachineName", EmitDefaultValue = false)]
public List<string> PhoneNumbers { get; set; }
}
With that in place, you use the EmailMessage to build up the email in your console application and change your ResponseBody from a string to EmailMessage.