2009-03-03 71 views
3

這是我的郵件發送代碼。我得到「郵件標題中有無效字符」錯誤。當我將計算機名稱更改爲最短名稱時。問題解決了。但在我的域名整個計算機名稱,如「04500-ab04545.xxxdomain.gov.tr」,所以我需要找到這個問題的另一種解決方案。通過System.Net.Mail發送郵件時出現問題C#

所以我不能給一個靜態計算機名稱,而從C#代碼發送郵件。

MailMessage msg = new MailMessage(); 
msg.Body = "axxxxxx"; 
msg.To.Add(new MailAddress("[email protected]")); 
msg.From = new MailAddress("[email protected]","blab blalb"); 
msg.Subject = "Subject xxx"; 
SmtpClient server = new SmtpClient("xxxxxxxx",25); 
server.Credentials = new NetworkCredential("xxxxx", "xxxxxxx"); 
SmtpClient server = new SmtpClient("mail.adalet.gov.tr",25); 
server.Credentials = new NetworkCredential("xxx", "xxx"); 
server.Send(msg); 

回答

4

我懷疑這可能是一個編碼相關的問題。

嘗試使用new MailAddress("[email protected]","blab blalb", Encoding.Default)構造函數。

其他嘗試Encoding.Unicode

更新:

一些挖後,這種異常是從拋出:

void System.Net.BufferBuilder.Append(string,int,int); 

此,如果您有以上\任何字符XFF的電子郵件地址會發生。這不會發生,因爲這個名字已經被編碼了,但是其他的事情我會覺得很有趣。

+0

感謝名單的人烏爾涼爽;) – 2009-03-03 22:29:54

0

試圖發送的郵件標題是什麼?

您可以輕鬆地用這個MSDN片段轉儲:

string[] keys = message.Headers.AllKeys; 
     Console.WriteLine("Headers"); 
     foreach (string s in keys) 
     { 
      Console.WriteLine("{0}:", s); 
      Console.WriteLine(" {0}", message.Headers[s]); 
0

我收到此錯誤時,如果這是修改爲「網絡」---然後錯誤得到解決。 (我的理解是 - 櫃面指定pickupdirectory選項,頭-encoding UTF-8的(Base64)是給錯誤)

希望它可以幫助

相關問題