Vb.net Exchange Web服务API:发送带有附件的邮件时出错

Vb.net Exchange Web服务API:发送带有附件的邮件时出错,vb.net,exchangewebservices,email-attachments,ews-managed-api,Vb.net,Exchangewebservices,Email Attachments,Ews Managed Api,我正在尝试使用EWS Managed API 2.0发送带有PDF附件的邮件。我发送电子邮件的帐户不是我自己的,但我有“发送为”权限 我可以发送不带附件的电子邮件,但只要我尝试发送附件,请求就会失败 这个文件肯定存在 我已经实现了TraceListener,并看到在调用SendAndSaveCopy时发送了创建附件请求,但我没有从服务器收到正确的响应(我知道服务器正在收到我的请求,因为错误显然来自服务器)。我没有看到在创建附件失败后发送电子邮件的请求 尝试发送和保存副本时收到的错误是请求失败。基

我正在尝试使用EWS Managed API 2.0发送带有PDF附件的邮件。我发送电子邮件的帐户不是我自己的,但我有“发送为”权限

我可以发送不带附件的电子邮件,但只要我尝试发送附件,请求就会失败

这个文件肯定存在

我已经实现了
TraceListener
,并看到在调用
SendAndSaveCopy
时发送了创建附件请求,但我没有从服务器收到正确的响应(我知道服务器正在收到我的请求,因为错误显然来自服务器)。我没有看到在创建附件失败后发送电子邮件的请求

尝试发送和保存副本时收到的错误是请求失败。基础连接已关闭:发送时发生意外错误。内部异常是
无法将数据写入传输连接:远程主机已强制关闭现有连接。

我已经在谷歌上搜索过了,根据我发现的一些建议,我已经确认这不仅仅是订阅超时(事实证明,在完全相同的上下文中,我可以发送和保存副本,无需附件,也可以在失败后发送错误电子邮件)。其他人提到了文件大小的问题,但我的文件大小非常小(151 KB)

我的Exchange管理员正在检查服务器端是否存在可能影响此操作的设置,但尚未找到任何内容

有人能告诉我他们是否遇到(并找到了解决办法)这个特殊问题吗?甚至我可以指导Exchange管理员查看有关特定设置的任何提示

我的代码附在下面(为了可读性,我已经删除了打印错误消息的内容):

:

我的Exchange管理员以某种方式找到了负载平衡器的问题。如果我直接连接到exchange服务器,问题就会消失;但是AutoDiscoveryURL连接到负载平衡器。他正在跟进此事。希望我能很快找到一个完整的解决方案,但我想我会继续发帖,以防这会给任何人带来任何想法或帮助其他人


我们这样做已经有好几个月了,我认为我们还没有找到解决这个问题的“正确”方法。我们跟踪到F5上虚拟IP地址上启用的应用程序安全管理器。它正在扫描流量并认为附件不安全。

更新:我的Exchange管理员不知何故已将此问题追踪到负载平衡器。如果我直接连接到exchange服务器,问题就会消失;但是AutoDiscoveryURL连接到负载平衡器。他正在跟进此事。希望我能很快找到一个完整的解决方案,但我想我会继续发帖,以防这会给任何人带来任何想法或帮助其他人。。。
Public Function SendEmailResponse(ByVal strSender As String, ByVal strRecipient As String, ByVal strSubject As String, ByVal strBody As String, _
                        ByVal ews2010 As ExchangeService, Optional ByVal strCCAddresses As List(Of String) = Nothing, _
                        Optional ByVal strFilesToAttach As List(Of String) = Nothing, _
                        Optional ByVal blnReceipt As Boolean = False) As Boolean
    Try
        Dim msgReply As New EmailMessage(ews2010)
        msgReply.Subject = strSubject
        msgReply.Body = New MessageBody(BodyType.Text, strBody)
        Dim fromAddress As New EmailAddress(strSender)
        msgReply.From = fromAddress
        msgReply.ToRecipients.Add(strRecipient)
        msgReply.IsReadReceiptRequested = blnReceipt
        If strCCAddresses IsNot Nothing Then
            For Each strCC As String In strCCAddresses
                msgReply.CcRecipients.Add(strCC)
            Next
        End If
        msgReply.Save()  '''This works just fine

        If strFilesToAttach IsNot Nothing Then
            For Each flAttach In strFilesToAttach
                msgReply.Attachments.AddFileAttachment(flAttach)
            Next
        End If
        msgReply.SendAndSaveCopy() '''CRASHES HERE IF AND ONLY IF I've attached files in the above loop
        SendEmailResponse = True
    Catch ex As Exception
        SendEmailResponse = False
    End Try
End Function