Open AkshayMMittal opened 11 years ago
GetAddresses seems to have issues. 1) If you have multiple users in MailTo list, It returns only one user. 2) Mail From is always null.
public virtual MailAddress[] GetAddresses(string header) { string values = this[header].RawValue.Trim(); List addrs = new List(); while (true) { int semicolon = values.IndexOf(';'); int comma = values.IndexOf(','); if (comma < semicolon || semicolon == -1) semicolon = comma;
int bracket = values.IndexOf('>'); string temp = null; if (semicolon == -1 && bracket == -1) { if (values.Length > 0) addrs.Add(values.ToEmailAddress()); return addrs.Where(x => x != null).ToArray(); } else { if (bracket > -1 && (semicolon == -1 || bracket < semicolon)) { temp = values.Substring(0, bracket + 1); values = values.Substring(temp.Length); } else if (semicolon > -1 && (bracket == -1 || semicolon < bracket)) { temp = values.Substring(0, semicolon); values = values.Substring(semicolon + 1); } if (temp.Length > 0) addrs.Add(temp.Trim().ToEmailAddress()); values = values.Trim(); } } }
My To address is of format - "LastName, FirstName" abc@test.com, "xyz-dev@test.com"xyz-dev@test.com}
GetAddresses seems to have issues. 1) If you have multiple users in MailTo list, It returns only one user. 2) Mail From is always null.
public virtual MailAddress[] GetAddresses(string header) { string values = this[header].RawValue.Trim(); List addrs = new List();
while (true)
{
int semicolon = values.IndexOf(';');
int comma = values.IndexOf(',');
if (comma < semicolon || semicolon == -1) semicolon = comma;