I recall from some SMTP work I did in the late ‘90s that the protocol in fact allowed TO, CC, and BCC to be specified in the format “strFullName<strEmailAddress>”; see Section 3.4 of RFC 5322 for details on the syntax of email addresses.
So I tweaked your code just slightly to add the full name to the email address.
I changed each of the three instances of:
strInfow.split(",")[1].trim());`
To
strInfo.split(",")[0].trim()+"<"+
strInfo.split(",")[1].trim()+">");
And, viola, it works:
And Spark displays the names, not the email addresses. (And no, I do not have these recipients in my Contacts so Spark is not getting the names from there.)