我遇到一个非常困难和奇怪的问题,使用System.Net.Mail.SMTPClient进行身份验证。
我需要使用包含一些特殊字符的密码进行身份验证,有问题的是字符“»”。在设置客户端的Credentials属性之后:
smtpClient.Credentials = new NetworkCredential(selectedSMTPConfig.user_name, pwd);
并且非常确定字符串是正确的(我甚至使用原始字节和Encoding.UTF8.GetChars构建字符串),我只跟踪SmtpClient以查看AUTH Login中的Base64字符串是否不正确以及何时解码它,我在'»'之前得到一个额外的'Â'。
在我看来,这是SMTPClient内部的一些编码限制,我想我在代码中无法做任何事情,但我需要修复它......帮助!