【问题标题】:c# exchange web services over tls1.2c# 通过 tls1.2 交换 web 服务
【发布时间】:2016-02-05 01:25:59
【问题描述】:

过去几周我一直在互联网上寻找解决此问题的方法,但没有任何运气,因此我向这里的社区寻求帮助。

我正在尝试用 c# 编写一个测试应用程序,它使用基于 TLS1.2 的 Exchange Web 服务来连接 Exchange Server 2010 并发送电子邮件。

我使用从https://code.msdn.microsoft.com/Send-Email-with-Exchange-50189e57 下载的示例作为起点,稍作改动以适应我们的 Exchange 配置。

我们的 Exchange 服务器配置为使用 TLS 1.2 如果我从我们的域内运行程序,它是成功的,但如果我从外部运行它,我会收到以下消息: “不支持请求的安全协议”

我们使用的是 Using dotnet 4.5,下面的代码是我的测试代码。

private void sendButton_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
            service.Url = new Uri(ExchangeServerURI);
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            service.Credentials = new WebCredentials(MailUserName, MailPassword, "api");

            EmailMessage message = new EmailMessage(service);
            message.Subject = subjectTextbox.Text;
            message.Body = bodyTextbox.Text;
            message.ToRecipients.Add(recipientTextbox.Text);
            message.Save();

            message.SendAndSaveCopy();

            System.Windows.MessageBox.Show("Message sent!");
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

非常感谢任何帮助以使这项工作正常进行,

谢谢,

约翰

【问题讨论】:

  • 确保服务器安装了.net 4.5
  • 查看此answer,其中解释了有关 TLS 1.2 和请求的安全协议不受支持的错误。

标签: c# web-services exchange-server-2010


【解决方案1】:

问题是由于我运行程序的服务器没有安装 Dotnet 4.5 而引起的。我错误地假设它已安装。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多