0

는 전 C#을 사용하여 동일한 질문을 게시 그러나 어떤 대답을받지 못했다, 그래서 내가 전송 에이전트를 만들기 위해 노력하고VB.NET Exchange 전송 에이전트

VB를 사용하여 동일한 질문을 게시하려고 하겠어 그 보내는 전자 메일의 제목 줄이 비어 있지 않은지 확인한 다음 제목에 'kranichs jewelers'를 추가합니다. 내가 교환이 전송 에이전트를 설치할 때마다

Imports System 

Imports System.Collections.Generic 

Imports System.Text 

Imports Microsoft.Exchange.Data.Transport 

Imports Microsoft.Exchange.Data.Transport.Routing 

Imports Microsoft.Exchange.Data.Transport.Smtp 


Namespace mySubjectAgent 

    NotInheritable Class myRoutingFactory 

     Inherits RoutingAgentFactory 

     Public Overrides Function CreateAgent(ByVal server As SmtpServer) As RoutingAgent 
      Return New MyAgent 
     End Function 

    End Class 

    Public Class MyAgent 
     Inherits RoutingAgent 

     Private Sub MyEndOfDataHandler(ByVal source As SubmittedMessageEventSource, ByVal e As QueuedMessageEventArgs) Handles Me.OnSubmittedMessage 
      If e.MailItem.Message.Subject.Length = 0 Then 
       e.MailItem.Message.Subject = "Kranichs Jewelers" 
      Else 
       e.MailItem.Message.Subject = StrConv(e.MailItem.Message.Subject, VbStrConv.ProperCase) 
      End If 
     End Sub 

    End Class 

End Namespace 
코드에 문제가

.. :이 비어 있지 않으면, 내가 VB에서이

코드 보내는 이메일의 형식을 propercases 서버에서 대기열이 고정되고 이메일이 서버를 떠나지 않습니다. 어떤 도움이

을 감사

+0

try/catch 블록에서 코드를 래핑하고 오류를 기록 했습니까? (전송 동기화라고도하는) 이들을 작성하는 데 NT 서비스보다 디버그하기가 더 어려웠습니다 (적어도 충돌이 일어났습니다!) NRE를 얻으려면'Subject'가 null 일 가능성이 높습니다. –

답변

0

당신이 밖으로 시작하려고 할 수있는 두 가지있다 :

  1. 위 크리스 하스 '제안을 확인하거나 시도/캐치를 추가 널 (null) 처리하거나 특별히 시계 andalso e.mailitem.subject isnot 아무것도 다음
    '수정의 경우
    012 andalso e.mailitem.message isnot 아무것도 e.mailitem isnot 아무것도 경우

    : 그것은이 같은 것을 사용하는elseif e.mailitem is nothing andalso e.mailitem.mesasge is nothing
    '제목이 설정되지 않았으므로 계속 설정하십시오.

  2. 아무것도 수행하는 코드를 제거하고 방금의 전송 에이전트를함으로써 (딤섬처럼 내가 같은 정수 = 2) 환율 밖으로 실속되지 않았는지 확인하기 위해 그것을 대체 몇 가지 더미 코드를 추가하는 경우 어떤 종류의.

+0

감사합니다 chris 및 tridus. – Jeff

+0

나는 try catch를 추가하고, 대소 문자를 바꿔서 아무것도 아닌 것으로 바꿨습니다. 이제는 대문자를 적절한 대소 문자로 형식화하여 작동하지만 피사체에 아무 것도 포함되어 있지 않으면 여전히 비어있게됩니다. 어떤 아이디어? – Jeff

+0

위의 My If 문은 해당 속성이 모두 설정된 경우에만 true입니다. 제목이 비어있는 경우 무언가를 수행하려면 빈 문자열이거나 Nothing (즉, 전혀 설정되지 않음)인지 여부를 별도로 테스트해야합니다. 나는 그것을 할 수있는 더 긴 버전을 가지고 답을 편집했다. :) – Tridus