Pregunta

Me registró la misma pregunta usando C #, pero no recibió ninguna respuesta, por lo que voy a tratar de publicar la misma pregunta usando VB

Estoy intentando crear un agente de transporte que verifica la línea de asunto del correo electrónico de salida no está vacía, si es entonces que añade 'Kranichs joyeros a la línea de asunto. Si no está vacío, propercases el formato del correo electrónico saliente

el código que tengo en 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

El problema con el código es .. cada vez que instalar este agente de transporte al servidor del intercambio, la cola se congela y no hay hojas de correo electrónico del servidor.

cualquier ayuda se agradece

¿Fue útil?

Solución

Hay dos cosas que puede intentar empezar:

  1. Comprobar sugerencia de Chris Haas arriba y ya sea añadir un try / catch para tratar con nulos, o específicamente para ver que el uso de algo como esto:

    Si e.mailitem isnot nada andalso e.mailitem.message isnot nada andalso e.mailitem.subject isnot nada, entonces
    'Fix caso
    elseif e.mailitem isnot nada andalso e.mailitem.mesasge isnot nada, entonces
    "El sujeto no está establecido, adelante y un juego.
    final si

  2. Eliminar el código que hace nada y sólo añadir un poco de código ficticio para reemplazarla (como Dim i As Integer = 2) para asegurarse de que Exchange no se está estancando a cabo sólo por tener un agente de transporte de cualquier tipo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top