Disclaimer per Transportregel Exchange 2007

  • Hallo


    Ich habe folgendes Problem, ich habe eine Transportregel auf unserem Exchange-Server erstellt. An jede Mail wird der Disclaimer gehangen.


    Standardmäßig werden bei uns die Mails im Rich-Text-Format verschickt, dabei wird der Disclaimer problemlos angehangen. Erhalten wir allerdings eine Mail im TXT-Format und beantworten diese, oder aus Testgründen erstelle ich eine TXT-Mail, greift die Regel nicht. Die Mails landen dann in der Warteschlange und sind angehalten. Ein erneuter Sendeversuch bringt keine Besserung. Deaktiviere ich die Regel und es wird kein Disclaimer an die Mail gehangen, können TXT-Mails auch problemlos versendet werden.


    Meine Vermutung ist, dass die von Exchange vorgegebene Regel für den Disclaimer nicht mit TXT-Mails funktioniert, was ja auch die Deaktivierung der Regel eigentlich beweist.


    Aber warum?


    Vielen Dank
    Chris

    • Offizieller Beitrag

    Moin,


    kann weeder ich noch das Technet bestätigen:


    http://technet.microsoft.com/e…124352%28EXCHG.80%29.aspx


    "he disclaimer text is the text that is inserted into a message. Exchange 2007 inserts disclaimers into e-mail messages by using the same message format as the original message. For example, if a message is created in HTML, the disclaimer is added in HTML."

  • Hallo


    Vielen Dank für die Antwort, aber ich weiß wirklich nicht mehr weiter. Es ist tatsächlich so, dass Mails im TXT-format nicht versendet werden. Schalte ich die Regel ab, werden sie ohne Probleme versendet, dann allerdings ohne Disclaimer. Im HTML oder Rich-Text-Format gibt es mit der Regel kein Problem und die Mails werden mit Disclaimer versendet. Das Fallback in der Regel steht auf ignorieren.


    Es kann nur an der Regel liegen, aber warum? Es mag sein das MS bzw. Technet sagt das die Disclaimer-Regel sich an das vorgegebene Format anpaßt und entsprechend den Disclaimer in TXT, HTML oder Rich-Text einbaut. Aber wie bereits erwähnt, dass Problem tritt nur bei aktivierter Disclaimer-Regel auf.


    Ich füge einfach mal das Protokoll mit hinzu: Vielleicht gibt das ja mehr Aufschluss?


    Protokollname: Application
    Quelle: MSExchangeTransport
    Datum: 06.05.2010 12:11:49
    Ereignis-ID: 10003
    Aufgabenkategorie:PoisonMessage
    Ebene: Fehler
    Schlüsselwörter:Klassisch
    Benutzer: Nicht zutreffend
    Computer: ESRV.xxxx1.local
    Beschreibung:
    Fehler des Transportprozesses während der Nachrichtenverarbeitung mit dem folgenden Aufrufstapel: System.MissingMethodException: Methode nicht gefunden: "Boolean Microsoft.Exchange.Data.Transport.Email.Body.ConversionNeeded(Int32[])".
    bei Microsoft.Exchange.MessagingPolicies.Rules.BuiltInActionLibrary.ConvertTextBody(ActionContext context, DisclaimerEntry entry, TextToText t2tConverter, Encoding bodyEncoding)
    bei Microsoft.Exchange.MessagingPolicies.Rules.BuiltInActionLibrary.ApplyDisclaimerWithSeparator(ActionContext context, String disclaimerLocation, String disclaimerText, String font, String fontSize, String fontColor, String fallbackAction, String separator)
    bei Transport0(Environment )
    bei Microsoft.Exchange.MessagingPolicies.Rules.RuleCollection.Run(Environment environment)
    bei Microsoft.Exchange.MessagingPolicies.TransportRuleAgent.TransportRuleAgent.OnRoutedMessageHandler(RoutedMessageEventSource source, QueuedMessageEventArgs args)
    bei Microsoft.Exchange.Data.Transport.Routing.RoutingAgent.Invoke(String eventTopic, Object source, Object e)
    bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.Dispatcher.Invoke(MExSession session)
    bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.MExSession.AsyncInvoke(Object state)
    bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.MExSession.BeginInvoke(String topic, Object source, Object e, AsyncCallback callback, Object callbackState)
    bei Microsoft.Exchange.Transport.Categorizer.MExEvents.RaiseEvent(MExSession mexSession, String eventTopic, AsyncCallback callback, Object state, Object[] contexts)
    bei Microsoft.Exchange.Transport.Categorizer.MExEvents.RaiseOnRoutedMessage(TaskContext context, AsyncCallback callback, MailItem mailItem)
    bei Microsoft.Exchange.Transport.Categorizer.CategorizerComponent.Stage5OnRoutedMessage(TransportMailItem transportMailItem, TaskContext taskContext)
    bei Microsoft.Exchange.Transport.Categorizer.TaskContext.Invoke()
    bei Microsoft.Exchange.Transport.Categorizer.CatScheduler.JobThreadEntry(Object ignored)
    bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    bei System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
    bei System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state).
    Ereignis-XML:




    10003
    2
    10
    0x80000000000000


    65914
    Application
    ESRV.xxxx1.local




    System.MissingMethodException: Methode nicht gefunden: "Boolean Microsoft.Exchange.Data.Transport.Email.Body.ConversionNeeded(Int32[])".
    bei Microsoft.Exchange.MessagingPolicies.Rules.BuiltInActionLibrary.ConvertTextBody(ActionContext context, DisclaimerEntry entry, TextToText t2tConverter, Encoding bodyEncoding)
    bei Microsoft.Exchange.MessagingPolicies.Rules.BuiltInActionLibrary.ApplyDisclaimerWithSeparator(ActionContext context, String disclaimerLocation, String disclaimerText, String font, String fontSize, String fontColor, String fallbackAction, String separator)
    bei Transport0(Environment )
    bei Microsoft.Exchange.MessagingPolicies.Rules.RuleCollection.Run(Environment environment)
    bei Microsoft.Exchange.MessagingPolicies.TransportRuleAgent.TransportRuleAgent.OnRoutedMessageHandler(RoutedMessageEventSource source, QueuedMessageEventArgs args)
    bei Microsoft.Exchange.Data.Transport.Routing.RoutingAgent.Invoke(String eventTopic, Object source, Object e)
    bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.Dispatcher.Invoke(MExSession session)
    bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.MExSession.AsyncInvoke(Object state)
    bei Microsoft.Exchange.Data.Transport.Internal.MExRuntime.MExSession.BeginInvoke(String topic, Object source, Object e, AsyncCallback callback, Object callbackState)
    bei Microsoft.Exchange.Transport.Categorizer.MExEvents.RaiseEvent(MExSession mexSession, String eventTopic, AsyncCallback callback, Object state, Object[] contexts)
    bei Microsoft.Exchange.Transport.Categorizer.MExEvents.RaiseOnRoutedMessage(TaskContext context, AsyncCallback callback, MailItem mailItem)
    bei Microsoft.Exchange.Transport.Categorizer.CategorizerComponent.Stage5OnRoutedMessage(TransportMailItem transportMailItem, TaskContext taskContext)
    bei Microsoft.Exchange.Transport.Categorizer.TaskContext.Invoke()
    bei Microsoft.Exchange.Transport.Categorizer.CatScheduler.JobThreadEntry(Object ignored)
    bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    bei System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
    bei System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)