VB.NET ТРАНСПОРТНЫЙ АГЕНТ - PullRequest
       2

VB.NET ТРАНСПОРТНЫЙ АГЕНТ

0 голосов
/ 13 января 2011

Я отправил тот же вопрос, используя c #, но не получил никакого ответа, поэтому я попытаюсь опубликовать тот же вопрос, используя VB

Я пытаюсь создать транспортный агент, который проверяет, что строка темы исходящей электронной почты не пуста; если это так, то в строку темы добавляются «ювелиры kranichs» Если он не пустой, он соответствует формату исходящей электронной почты

код, который я имею в 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

проблема с кодом .. всякий раз, когда я устанавливаю этот транспортный агент на сервер обмена, очередь останавливается, и электронная почта не покидает сервер.

любая помощь приветствуется

1 Ответ

0 голосов
/ 14 января 2011

Есть две вещи, которые вы можете попробовать начать:

  1. Проверьте предложение Криса Хааса, приведенное выше, и либо добавьте попытку / улов, чтобы справиться с пустыми значениями, или специально следите за этим, используя что-тонапример:

    если e.mailitem не является ничем, а также e.mailitem.message не является ничем, а также e.mailitem.subject не является ничем, тогда
    'Fix case
    в противном случае e.mailitem не является ничем и также e.mailitem.mesasge не является ничем, тогда
    'Тема не установлена, продолжайте и установите один.
    end, если

  2. Удалите код, который что-либо делает, и просто добавьте несколько пустышеккод для его замены (например, Dim i as integer = 2), чтобы убедиться, что Exchange не останавливается, просто имея какой-либо транспортный агент.

...