C#SMTP问题"客户端未经过身份验证"

时间:2016-11-29 15:23:21

标签: c# email authentication

我目前遇到的一个问题是我的代码无法针对Exchange服务器进行身份验证,并且可以使用gmail正常运行。

这是我的代码

client = new SmtpClient(smtp_server, smtp_port); //webmail.airbaltic.com
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = smpt_enableSSL;
client.Timeout = 60 * 5 * 1000;
client.UseDefaultCredentials = false;

if (string.IsNullOrEmpty(smtp_domain))
{
   client.Credentials = new NetworkCredential(smtp_user, smtp_password);
}
else
   client.Credentials = new NetworkCredential(smtp_user, smtp_password, smtp_domain);

try
{
    using (MailMessage mail = new MailMessage(mail_from, message.recep))
    {
       mail.Subject = mail_title;
       mail.Body = message.message;
       if (message.attachedFile != null)
             mail.Attachments.Add(message.attachedFile);

       client.Send(mail);
       if (message.attachedFile != null)
            message.attachedFile.Dispose();
       }

}
catch (Exception e)
{
      Debug.LogError(e);
}

我从服务器返回的响应是" 530 5.7.1客户端未经过身份验证"。我已经检查了密码和用户名,以及域名和服务器地址,搜索了论坛,甚至从外部邮件客户端(它工作的地方)尝试了相同的配置,没有任何内容。

服务器本身不使用SSL并使用NTLM进行身份验证。

编辑: 进一步研究(即检查已发送和接收的数据包),我用于测试用户名和密码的客户端似乎首先进行身份验证,而SmtpClient.send()似乎由于某种原因跳过它

0 个答案:

没有答案
相关问题