4

EWS Managed API 2.0을 사용하여 PDF 첨부 파일이있는 메시지를 보내려고합니다. 나는 내 자신이 아니지만 내가 권한으로 보낸 계정으로 이메일을 보내고 있습니다.Exchange 웹 서비스 API : 첨부 파일이있는 메시지를 보내는 중 오류가 발생했습니다.

첨부 파일없이 전자 메일을 보낼 수는 있지만 첨부 파일을 보내면 즉시 요청이 실패합니다.

파일이 존재합니다.

TraceListener을 구현했으며 SendAndSaveCopy이 호출되었지만 서버에서 적절한 응답을받지 못하면 첨부 파일 생성 요청이 전송되는 것을 확인합니다. (오류가 분명히 나와 서버가 내 요청을 받고 있음을 알고 있습니다. 서버). 첨부 파일 만들기가 실패한 후에 이메일 메시지를 보내라는 요청이 표시되지 않습니다.

내가 SendAndSaveCopy하려고에 나타나는 오류는 내부 예외 나는이와 내가 발견 한 것을 몇 가지 제안에 따라 검색 좀 Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host.

입니다 The request failed. The underlying connection was closed: An unexpected error occurred on a send., 나는 이것이 단순히 시간 제한되지 않습니다 확인했습니다 구독 (첨부 파일없이 SendAndSaveCopy를 사용할 수 있고, 오류 발생 후 오류 메일을 보낼 수도 있습니다.) 다른 사람들은 파일 크기 문제를 언급했지만 파일 크기는 매우 작습니다 (151KB).

내 Exchange 관리자가 서버 쪽에서이 설정에 영향을 줄 수 있지만 아직 아무것도 찾지 못했는지 확인하고 있습니다.

이 특정 문제가 발생했는지 (그리고 해결책을 찾았습니까?) 누가 알 수 있습니까? 특정 설정에 대한 정보라도 Exchange 관리자에게 보도록 지시 할 수 있습니까?

내 코드는 다음과 부착 (I 읽기 쉽도록 인쇄 오류 메시지의 내 수병 제거했습니다) :

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 
+0

업데이트 : Exchange 관리자가 문제를 부하 분산기로 어떻게 든 추적했습니다. Exchange 서버에 직접 연결하면 문제가 사라집니다. 자동 검색은로드 밸런서에 연결됩니다. 그는 지금 그것을 따라하고 있습니다. 잘만되면 나는 곧 완전한 해결책을 갖게 될 것이지만 누군가에게 어떤 아이디어를 주거나 누군가에게 도움이 될 경우에 대비하여 앞으로 나아가서 게시 할 것이라고 생각했다. –

답변

0

From the OP :

이 는

내 Exchange 관리자 부하에 문제를 추적했습니다 여하튼 균형 자. Exchange 서버에 직접 연결하면 문제가 사라집니다. 자동 검색은로드 밸런서에 연결됩니다. 그는 지금 그것을 따라하고 있습니다. 다행히도 나는 곧 완전한 해결책을 갖게 될 것이지만 누군가에게 어떤 아이디어를 주거나 누군가에게 도움이 될 경우를 대비하여 내가 앞서 가서 게시 할 것이라고 생각했다.

0

우리는 몇 달 동안 이것을 보았으며 우리는 이것에 대한 '적절한'해결책에 도달했다고 생각하지 않습니다. 우리는 F5의 가상 IP 주소에서 활성화 된 Application Security Manager를 추적했습니다. 트래픽을 검사하고 첨부 파일이 안전하지 않다고 판단했습니다.