Если вы отправляете данные в виде JSON, тогда все данные должны содержаться в единой связной структуре JSON. Наличие двух отдельных входных параметров на стороне сервера не соответствует этой концепции.
В этой ситуации вы можете создать DTO (Data Transfer Object), который является классом, содержащим все элементы, которые вы хотите перенести. Примерно так:
public class EmailMessageDTO
{
public Email email { get; set; }
public Message message { get; set; }
}
Затем вы определяете метод действия как принятие этого единственного объекта с избыточным изгибом
public async Task<IHttpActionResult> SendMessage(EmailMessageDTO dto) { }
И в JavaScript:
data: JSON.stringify({
email: EmailsArray,
message: {
"title": $('#txtTitle').val(),
"body": $('#txtContent').val(),
}
}),
Это очень похоже на концепцию наличия ViewModel в MVC.