2011-06-07 41 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维基百科的文章可能对您有用。