SMTP凭据密码编码出现问题

本文关键字:问题 编码 密码 SMTP | 更新日期: 2023-09-27 17:58:30

我在使用System.Net.Mail.SMTPClient.进行身份验证时遇到了一个非常困难和奇怪的问题

我需要使用包含一些特殊字符的密码进行身份验证,有问题的是字符"»"。设置客户端的凭据属性后,如下所示:

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

并且非常确定字符串是正确的(我甚至使用原始字节和Encoding.UTF8.GetChars构建字符串),我跟踪SmtpClient,只发现AUTH登录中的Base64字符串是不正确的,当我解码它时,我在"»"之前得到了一个额外的"。

在我看来,SMTPClient内部有一些编码限制,我想我在代码中对此无能为力,但我需要修复它,所以…救命!

SMTP凭据密码编码出现问题

@francis我认为你做不到,因为身份验证必须首先进行。。。我猜如果你能确保数据流中有正确的字符,那么你就可以了。您可以使用WireShark来检查您的传输。

维基百科的Guillemet文章可能对你有用。