Frage

Ich stellte die gleiche Frage mit c # aber erhielt keine Antwort, so dass ich die gleiche Frage mit VB

, um versuchen werde posten

Ich versuche, ein Transportmittel zu schaffen, dass überprüft die Betreffzeile der E-Mail abgehender nicht leer ist, wenn es dann ist es Kranich Juweliere in die Betreffzeile hinzu. Wenn es nicht leer ist, propercases es das Format der ausgehenden E

Sie den Code i in vb haben:

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

das Problem mit dem Code ist .. wenn ich dieses Transportmittels zu dem Exchange-Server installieren, werden die que friert und keine E-Mail-Blätter der Server.

Jede Hilfe ist willkommen

War es hilfreich?

Lösung

Es gibt zwei Dinge, die Sie versuchen können, beginnen:

  1. Überprüfen Sie Chris Haas' Vorschlag oben und fügen Sie entweder einen try / catch mit Nullen zu beschäftigen, oder speziell beobachten für sie so etwas wie dies mit:

    Wenn e.mailitem isnot nichts andalso e.mailitem.message isnot nichts andalso e.mailitem.subject isnot nichts dann
    'Fix Fall
    elseif e.mailitem isnot nichts andalso e.mailitem.mesasge isnot nichts dann
    "Gegenstand nicht gesetzt ist, gehen Sie vor und Set ein.
    end if

  2. Sie den Code entfernen, der alles tut, und nur einige Dummy-Code hinzufügen, um es zu ersetzen (wie Dim i als ganze Zahl = 2), um sicherzustellen, dass Exchange stockt aus nicht nur durch einen Transportmittel jeglicher Art haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top