0

は、私はC#を使用して同じ質問を投稿が、どんな答えを受けていなかったので、私はそのトランスポートエージェントを作成しようとしていますVBVB.NET ExchangeトランスポートAGENT

を使用して同じ質問を投稿しようとするつもりです送信メールの件名が空でないことを確認します。そうであれば、件名に「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サービスよりもデバッグが難しかったです(少なくともクラッシュしました!)可能であれば、 'Subject'が空のときにNREを取得する可能性があります。 –

答えて

0

あなたが出て起動しようとすることができる2つのものがあります:

  1. と上記のクリス・ハースの提案を確認してくださいいずれかのtry/catchを追加ヌルに対処するために、具体的時計は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)Exchangeが出失速されていないことを確認するために、それを置き換えるために、いくつかのダミーのコードを追加した場合いずれかの種類。

+0

チャリスとトリダスに感謝します。 – Jeff

+0

私はtry catchを追加し、if caseをisnot nothingなどに変更しました。これは、対象を適切な大文字小文字に変換することで機能します。ただし、対象に何も含まれていなければ空のままです。何か案は? – Jeff

+0

上記のMy If文は、それらのプロパティがすべて設定されている場合にのみtrueになります。サブジェクトが空の場合は何かを行うには、空の文字列かNothingかを個別にテストする必要があります(つまり、まったく設定されていません)。私はその答えを編集して、それを可能にするより長いバージョンを用意しました。 :) – Tridus

関連する問題