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