Generally you need to use standard http query syntax to add multiple parameters:
/api/Utility/SendMailMessageFromandToList**?**fromusername=example**&**mailMessage=...
For passing a list parameter in the url you can follow the following method stated in this post:
Passing a List<string> to an MVC Web API method using the browser bar
The query string parameter should be of this format
.../APIName?parameter[]=value1¶meter[]=value2&....
Update
You can pass a complex object in the PostAsJsonAsync method as second parameter:
class ExampleModel {
public string property1 {get;set;}
public IList<string> property2 {get;set;}
}
var complexObject = new ExampleModel();
//Set your values here then post it
client.PostAsJsonAsync("api/Utility/SendMailMessageFromandToList",complexObject);
You would only need to create an object with your three types as properties.