2011-06-07 210 views
2

我有一個非常困難和奇怪的問題使用System.Net.Mail.SMTPClient進行身份驗證。SMTP證書問題密碼編碼

我需要使用包含一些特殊字符的密碼進行認證,問題是字符'»'。設置客戶端的憑據屬性這樣後:

smtpClient.Credentials = new NetworkCredential(selectedSMTPConfig.user_name, pwd); 

並且是相當肯定的字符串是正確的(我甚至建立使用原始字節和Encoding.UTF8.GetChars字符串),我跟蹤SmtpClient只看到在AUTH登錄中的Base64字符串是不正確的,當我解碼它時,我在'»之前得到一個額外的''。

在我看來,這是SMTPClient內部的一些編碼限制,我想我不能在我的代碼中做任何事情,但我需要修復它,所以......幫助!

回答

1

@francis我不認爲你可以做到這一點,因爲認證必須首先發生......我猜測,如果你能確保正確的字符是在您的數據流,那麼你可以沒問題。您可以使用WireShark來檢查您的傳輸。

Guillemet維基百科的文章可能對您有用。