fluluk
Goto Top

Automatische Regel innerhalb eines Öffentlichen Ordners

Hallo,

Im Einsatz habe ich Outlook 2003 und Exchange 2007.

Ich habe einen Öffentlichen Ordner (z.B.) Einkauf. Auf diesem ist der E-Mailempfang aktiviert (einkauf@contoso.com).
Darunter liegt ein Ordner Bestellungen, welcher keine E-Mailadresse besitzt.
ist es möglich eine Regel zu erstellen die alle Mails aus dem Ordner Einkauf mit dem Betreff "Bestellungen" in den Ordner Bestellungen zu verschieben?

Wenn nun also jemand eine Mail an einkauf@contoso.com mit dem Betreff Bestellungen schickt soll diese im Ordner Bestellungen landen, ansonsten soll sie im Ordner Einkauf bleiben.

Gruß fluluk

Content-Key: 214993

Url: https://administrator.de/contentid/214993

Printed on: April 23, 2024 at 20:04 o'clock

Member: GuentherH
GuentherH Aug 22, 2013 at 16:03:13 (UTC)
Goto Top
Hallo.

Eine Verschieben Regel gibt es meines Wissens für Öffentliche Ordner nicht. Aber gib doch diesem Unterordner eine E-Mail Adresse und erstelle dann im Hubtransport eine Regel dafür.

LG Günther
Member: goscho
goscho Aug 22, 2013 updated at 16:09:28 (UTC)
Goto Top
Hi fluluk,

dies kannst du nur versuchen, über die Exchange Transportregeln zu lösen.

Organisationskonfiguration -> Hub-Transport -> Transportregeln

Dort eine neue Regel anlegen, die deinen Bedinungen entspricht ("gesendet an Person", "bestimmtes Wort im Betreff") und bei Aktion "Nachricht an Adresse umleiten".

Natürlich muss der Unterordner des ÖOs dann auch mailaktiviert sein.

Edit: Danke Günther, wieder mal zweiter. face-wink
Member: fluluk
fluluk Aug 22, 2013 at 16:19:09 (UTC)
Goto Top
hmmm... das habe ich befürchtet...
benötige ich in dem Fall dann auch ein Exchange CAL oder gilt das nur für Benutzerpostfächer?
Member: goscho
goscho Aug 22, 2013 at 16:33:55 (UTC)
Goto Top
Diese Frage kann ich dir leider nicht genau beantworten.

Schau doch mal hier rein.
Member: keine-ahnung
keine-ahnung Aug 22, 2013 at 17:41:47 (UTC)
Goto Top
Zitat von @fluluk:
Moin aus Nordseeland,
benötige ich in dem Fall dann auch ein Exchange CAL oder gilt das nur für Benutzerpostfächer?
IMHO nur Letzteres. Für ÖO benötigst Du keine CAL.

LG, Thomas
Mitglied: 108012
108012 Aug 22, 2013 at 18:29:08 (UTC)
Goto Top
Hallo,

Wenn nun also jemand eine Mail an einkauf@contoso.com mit dem Betreff Bestellungen
schickt soll diese im Ordner Bestellungen landen, ansonsten soll sie im Ordner Einkauf bleiben.

Da kann man doch aber mit Regeln Exchange bzw. Outlook lösen, oder irre ich jetzt so gewaltig?

Wenn Absender xyz an Empänger xyz eine Mail schickt und die Bedingung xyz (Im Betreff steht ....) erfüllt wird kommt die
Mail in den Ordner abc wenn nicht dann kommt die Mail in den Ordner absdef.

Sollte das mit einer Regel nicht funktionieren mach zwei Regeln hintereinander und die Regel mit dem Wort
"Bestellungen im Betreff" kommt dann eben zuerst an die Reihe.


Gruß
Dobby
Member: fluluk
fluluk Aug 22, 2013 at 18:34:30 (UTC)
Goto Top
Hallo Dobby,

habe ich schon probiert, im eigenen Postfach funktioniert das, allerdings nicht innerhalb eines öffentlichen Ordners. Ich kann dort zwar eine Regel erstellen, allerdings funktioniert diese nicht automatisch, sondern nur dann, wenn man manuell sagt: Aller Regeln anwenden.

Trotzdem danke für den Tipp.

Gruß
fluluk
Member: goscho
goscho Aug 23, 2013 at 07:10:10 (UTC)
Goto Top
Moin Jungs,

Ihr könnt Günther vertrauen, wenn er schreibt, dass es keine Verschieberegeln mit öffentlichen Ordnern gibt, die automatisch funktionieren.

Daher auch unser Vorschlag, dass mit Transportregeln in Exchange Hub Transport zu lösen.

@keine-ahnung

dass dafür Enterprise-CAL nötig sind, steht im Assistenten ganz unten, wenn man diese Transportregeln einrichten will.

Ob diese dafür wirklich benötigt werden, sollte mal jemand mit richtigem Wissen mitteilen.
Member: GuentherH
GuentherH Aug 23, 2013 at 14:14:29 (UTC)
Goto Top
Für ÖO benötigst Du keine CAL

Korrekt. Exchange CALs sind immer auf die Person bezogen. Und umgekehrt, ohne Exchange CAL (als ohne User mit Postfach) kann man auf den Öffentlichen Ordner nicht zugreifen.

LG Günther
Member: colinardo
colinardo Aug 23, 2013, updated at Aug 24, 2013 at 06:51:29 (UTC)
Goto Top
Hi flukuk,
eine andere Möglichkeit wäre ein Transport-Agent den man direkt in den Exchange einbaut, und der eine einfache Weiterleitung realisiert(beschäftige mich gerade damit):

Anzupassen wären in u.s. Code noch diese Zeilen:
string strSearchSubject = "Bestellungen";
string strMailReceivedFor = "einkauf@domain.local";
string strMailTo = "bestellungen@domain.local";
Dabei wäre
strSearchSubject der Betreff nach dem gesucht wird.
strMailReceivedFor die E-Mail-Adresse an die die Mails gegangen sind.
strMailTo ist die Adresse an die Nachricht weitergeleitet wird.

Damit das ganze funktioniert, müsstest du den Unterordner aber auch auf MailEnabled setzen.
namespace Test.Agent.Mailumleitung
{
    using System;
    using System.IO;
    using System.Text;
    using System.Diagnostics;
    using System.Net;
    using System.Net.Security;
    using System.Security.Cryptography.X509Certificates;
    using System.Collections.Generic;
    using Microsoft.Exchange.Data.Transport;
    using Microsoft.Exchange.Data.Transport.Smtp;
    using Microsoft.Exchange.Data.Transport.Email;
    using Microsoft.Exchange.Data.Transport.Routing;
    using Microsoft.Exchange.Data.TextConverters;
 
    public sealed class MailumleitungFactory : RoutingAgentFactory
    {

        public override RoutingAgent CreateAgent(SmtpServer server)
        {
            return new UmleitungService();
        }
    }

    public class UmleitungService : RoutingAgent
    {

		string strSearchSubject = "Bestellungen";  
		string strMailReceivedFor = "einkauf@domain.local";  
		string strMailTo = "bestellungen@domain.local";  
        
		public UmleitungService()
        {
            this.OnSubmittedMessage += new SubmittedMessageEventHandler(this.onSubmittedMessageHandler);
        }

     
        public void onSubmittedMessageHandler(SubmittedMessageEventSource source, QueuedMessageEventArgs eodArgs)
        {
            try
            {
				if (eodArgs.MailItem.Recipients.Count == 1)
                {
					if ((eodArgs.MailItem.Message.Subject == strSearchSubject) && (eodArgs.MailItem.Recipients.Address.ToString() == strMailReceivedFor))
					{
						LogMessage("MailUmleitung", "Leite Bestell E-Mail um an anderen Ordner # Message-ID: " + eodArgs.MailItem.Message.MessageId);  
						eodArgs.MailItem.Recipients.Clear();
						eodArgs.MailItem.Message.To.Clear();
						eodArgs.MailItem.Recipients.Add(new RoutingAddress(strMailTo));
						eodArgs.MailItem.Message.To.Add(new EmailRecipient("Bestellungen", strMailTo));  
					}
				}
           
            }
            catch (Exception ex)
            {
                LogMessage("OnSubmittedMessage",  
                     String.Format("EXCEPTION: Type={0}, Message='{1}'",  
                         ex.GetType().FullName, ex.Message));
            }

        }

        public void LogMessage(string methodName, string message)
        {
            try
            {
                StringBuilder traceMessage = new StringBuilder();
                traceMessage.Append(System.DateTime.Now.ToString("s"));  
                traceMessage.Append("|");  
                traceMessage.Append(methodName);
                traceMessage.Append("|");  
                traceMessage.Append(message);
                traceMessage.Append("\r\n");  

                Trace.WriteLine(traceMessage.ToString());
            }
            catch
            {
                throw;
            }
        }
   
    }
}
Das ganze wird dann in Visual Studio kompililert.
Wie man diesen Agent implementiert kann man hier nachlesen: http://www.msxfaq.de/code/transportagent.htm
Das schöne an den Agenten ist, das man wesentlich feiner festlegen kann was man mit den Mails machen möchte - Voraussetzung man kann programmieren.

Grüße Uwe