VB.NET交流代理商
-
11-10-2019 - |
题
我使用C#发布了同样的问题,但没有收到任何答案,因此我将尝试使用VB发布相同的问题
我正在尝试创建一个运输代理,该运输代理验证主题线的传输线不是空的,如果是,则将“ Kranichs Jewelers”添加到主题行中。如果它不是空的,则可以绕过即将发出的电子邮件的格式
我在VB中拥有的代码:
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
代码的问题是..每当我将此传输代理安装到Exchange Server上时,Que冻结并且没有电子邮件离开服务器。
任何帮助都将受到赞赏
解决方案
您可以尝试开始两件事:
检查上面的克里斯·哈斯(Chris Haas)的建议,然后添加尝试/捕获以处理nulls,或者使用类似的内容专门观看:
如果e.mailitem并不是什么都不是Andalso e.mailitem.message note nothing Andalso e.mailitem.Mubject note note Is Is Is Is Is Is Is
修复案例
elseif e.mailitem并不是什么都不是Andalso e.mailitem.Mesasge,没有什么
'主题没有设定,继续设置一个。
万一删除执行任何操作的代码,然后添加一些虚拟代码来替换它(例如Dim I As Integer = 2),以确保交换不会仅通过拥有任何类型的运输代理而停滞不前。
不隶属于 StackOverflow