VB.NET EXCHANGE TRANSPORT MANAGER
-
11-10-2019 - |
Frage
Ich stellte die gleiche Frage mit c # aber erhielt keine Antwort, so dass ich die gleiche Frage mit VB
, um versuchen werde postenIch 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
Lösung
Es gibt zwei Dinge, die Sie versuchen können, beginnen:
-
Ü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 -
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.