2016-01-26 26 views
0

我使用DataReader用於填充我的列表中的電子郵件和多個收件人發送報警郵件和返回是正確的:Net.Mail多個收件人

using (OdbcDataReader reader = command.ExecuteReader()) 
{ 
    if (reader.HasRows) 
    { 
     while (reader.Read()) 
     { 
      list.Add(reader["Email"].ToString()); 
      listAdd = String.Join(", ", list.ToArray()); 

      Response.Write(listAdd.ToString() + "<br />"); 
     } 
    } 
} 

但是,如果嘗試發送報警郵件:

if (!String.IsNullOrEmpty(listAdd)) 
{ 
    foreach (var address in listAdd.Split(',')) 
    { 
     mailMessagePlainText.To.Add(new MailAddress(address.Trim(), ""));    
    } 
} 

我有這樣的錯誤:

消息頭包含無效字符:「」。

我檢查了每個單一的電子郵件地址,但沒有任何無效字符。我該如何解決這個問題?

請幫助我,非常感謝你提前。

+0

嘗試將'address.Trim()'放入字符串中並查看其內容 –

回答

0

如果它發現無效字符「 您可能需要使用:

address.Trim('\"') or address.Trim('\0022') 

雖然我可能會建議從數據源清理數據

實際上,我想知道爲什麼你使用listAdd字符串而不是列表本身?您可以使用類似於:

if (!list.Any()) 
{ 
    foreach (var address in list) 
    { 
     mailMessagePlainText.To.Add(new MailAddress(address.Trim(), ""));    
    } 
}