Absender überschreiben / Klassifizierungsproblem mit Ebaymails

  • Hallo,


    Wir haben alle Kunden als Kontakte im Greyhound angelegt bzw. aktualisieren dieses täglich über einen unsere SQL DB Export. Bei der Klassifizierung gibt es soweit auch keine Probleme.


    Außer bei Ebay:
    Wir haben sonst ein Problem bei der Klassifizierung von Ebaymails, die direkt aus dem Ebaysystem geschrieben werden. Dort ist der Absender immer "eBay-Mitglied: xyz" <member@ebay.de> - die Reply-TO Adresse ist immer der Kunde.


    Gibt es eine Möglichkeit den Absender mit dem Inhalt von "Antwort an:" (Reply-To: ) zu überschreiben?



    Im Moment lösen wir die Klassifizierung indem wir folgendes Benutzerfeld: "eBay-Mitglied: "&[USER_ebayUserID]&<member@ebay.de>" erstellen und übergeben


    Würde eine Übereinstimmung stattfinden, wenn in dem Benutzerfeld lediglich der Ebayname steht oder funktioniert die Zuordnung nur dann, wenn das Zusatzfeld wie oben aufgebaut ist?


    Grüße, Siegfried

  • Hallo,


    das einfachste ist eine Regel mit dem Regelknoten "Quelltext einfügen". Dort kann man den Absender mit den Daten aus Antwort-An überschreiben. Man muss dabei aber beachten, dass das Reply-To Feld mehr als eine Adresse enthalten kann.


    Code
    1. if Item.Kind = ikEmail then
    2. begin
    3. if TFbmItemEMailProperties(Item.Properties).ReplyTo.Count > 0 then
    4. Item.From.Text := TFbmItemEMailProperties(Item.Properties).ReplyTo[0].Text;
    5. end;


    Die Idee mit dem Benutzerdefinierten Feld und den &-Zeichen kann ich nicht ganz nachvollziehen. Im Benutzerdefinierten Feld steht idealer Weise nur der eBay-Name. Wie der Name dann für die Klassifizierung gefunden werden kann, hängt davon ab, welcher reguläre Ausdruck für die Suche nach dem eBay-Namen im Text verwendet wurde. Hilfreich an dieser Stelle ist folgende Dokumentation: Reguläre Ausdrücke

  • Danke für den Hinweis.
    Allerdings sollen nicht alle Absender aller Emails ersetzt sondern nur solche, die vom Ebaysystem geschrieben wurden und den tatsächlichen Absender im Repley-To enthalten. Sollte aber kein Problem sein, dass umzuschreiben.


    Zu dem "eBay-Mitglied: "&[USER_ebayUserID]&<member@ebay.de>"" Gedanke:
    Diese Abfrage findet VOR der Übergabe an Greyhound auf unserer DB statt.Greyhound erhält nurdas Ergebnis, also mit dem Ebaynamen: "eBay-Mitglied: XYZ <member@ebay.de>" und entspricht somit dem, was Ebay in den Absender schreibt, wenn es die Email aus deren System schickt.
    Damit entspricht der Inhalt des Benutzerfeld exakt dem Absender des Ebaykunden. D.h. eine Klassifizierung über Benutzerfelder steht nichts im Weg (in ersten Test hat es funktioniert)


    Meine Frage war nun, ob es ausreicht, im Benutzerfeld lediglich den Ebaynamen stehen zu haben und den Absender (Name + Adresse) auf das Vorhandensein dieses Namens hin zu überprüfen und zu Klassifizieren.
    Der Ebayname wird in den Kontakten sowieso übergeben und das Zusatzfeld "eBay-Mitglied..." enthält eigentlich nur redundante Daten.


    Zugegeben, ich steige da noch nicht so ganz durch:

    "Die Idee mit dem Benutzerdefinierten Feld und den &-Zeichen kann ich nicht ganz nachvollziehen. Im Benutzerdefinierten Feld steht idealer Weise nur der eBay-Name. Wie der Name dann für die Klassifizierung gefunden werden kann, hängt davon ab, welcher reguläre Ausdruck für die Suche nach dem eBay-Namen im Text verwendet wurde. Hilfreich an dieser Stelle ist folgende Dokumentation: Reguläre Ausdrücke"


    Wie kann ich denn nach dem Vorkommen des Wertes eines Benutzerfeldes bei der Klassifizierung suchen?
    An welcher Stelle lege ich das fest?

  • Hallo,


    jedes Benutzerdefinierte Feld hat einen regulären Ausdruck. Über diesen regulären Ausdruck wird festgelegt, nach welchem Muster der Wert des Feldes z.B. in einer eingehenden E-Mail gefunden werden kann. Ich würde hierzu die Anleitung von Sascha empfehlen: Anleitung: Effizienter Einsatz von Kontakten


    Bevor der Absender mit dem Reply-To überschrieben wird, kann man natürlich weitere Regelknoten einbauen, welche prüfen, ob z.B. eBay im Absender-Feld vorkommt. Auch hier können reguläre Ausdrücke verwendet werden.

  • Hallo,

    jedes Benutzerdefinierte Feld hat einen regulären Ausdruck. Über diesen regulären Ausdruck wird festgelegt, nach welchem Muster der Wert des Feldes z.B. in einer eingehenden E-Mail gefunden werden kann. Ich würde hierzu die Anleitung von Sascha empfehlen: Anleitung: Effizienter Einsatz von Kontakten

    leider erschließt sich mir die "automatische Klassifizierung" über "benutzerdefinierte Felder" nicht wirklich.


    Angenommen ich habe ein benutzerdefiniertes Feld "Ebayname".


    Nun möchte ich eine eingehende Email daraufhin prüfen, ob sie den Namen aus dem Feld "Ebaynamen" enthält.
    Da der Name unterschiedlich lang sein kann ist mir unklar, wie der Reguläre Ausdruck aussehen müsste.
    Was "Index des Wertes" bedeutet, kann ich leider auch nicht nachvollziehen.


    Vielleicht kann mir jemand helfen oder mir eine Quelle nennen, wo ich diese Details herausfinden kann.


    Danke und Grüße, Siegfried

  • Hallo,


    das könnte zum Beispiel so aussehen. Im E-Mail Text kommt folgendes vor:



    Der reguläre Ausdruck zum auffinden des eBay Namens könnte nun folgendermaßen lauten:


    Code
    1. Ebayname: ([A-Za-z0-9_-]+)


    Als Index des Wertes muss nun $1 angegeben werden, weil das Ergebnis der ersten Klammerung interessiert. Wenn GREYHOUND im Text nun mit dem regulären Ausdruck ein oder mehrere Treffer findet, wird geschaut, ob "Ebayname" in einem benutzerdefinierten Feld eines Kontaks gespeichert ist. Sollte dies der Fall sein, wird der Kontakt klassifiziert.


    Damit Sie dieses Feature vollständig nutzen können, ist es erforderlich, dass Sie sich mit dem Thema Reguläre Ausdrücke beschäftigen.

  • Danke.
    Langsam beginne ich das Prinzip zu verstehen.


    Leider gelingt es mir trotzdem nicht, eine Eimal damit zu Klassifizieren.


    Das Feld Ebayname habe ich so eingestellt:


    [Blockierte Grafik: http://www.raxom24.de/gr3.jpg]
    [Blockierte Grafik: http://www.raxom24.de/gr1.jpg]


    Folgende Regel soll nun dafür sorgen, dass Emails, die ebay als Absender haben, im Text nach dem Ebaynamen suchen und danach klassifizieren:


    [Blockierte Grafik: http://www.raxom24.de/gr2.jpg]


    Wennich die Regeln nun manuell starte, dann passiert leider nichts.


    Beispiel:
    Bekomme Folgende Email. Absender eBay <ebay@ebay.de>


    Bei einem Kontakt ist im Benutzerfeld Ebayname der Wert "ebay_kunde7" hinterlegt.
    Meinem Verständnis nach müsste die o.g. Regel den Wert "ebay_kunde7" finden und dem Kontakt zuordnen.


    Leider passiert gar nichts. Wo liegt der Fehler?


    Grüße, Siegfried

  • Hallo,


    das Problem ist hier vermutlich, dass der reguläre Ausdruck auf jedes Wort der E-Mail zutrifft. Sie können dies prüfen, indem Sie den E-Mail Text bei der Bearbeitung des benutzerdefinierten Feldes in das Textfeld "Regulären Ausdruck überprüfen" kopieren. Klicken Sie anschließend auf den Button mit dem grünen "Play"-Button. In der Combo-Box können Sie die Ergebnisse anschauen.


    Bei der Klassifizierung werden immer nur maximal die ersten 16 Ergebnisse des regulären Ausdrucks überprüft. Das hängt damit zusammen, dass für jedes Ergebnis eine eigene Abfrage gestartet werden muss. Bei E-Mails mit 500 Wörtern, wären das ansonsten auch 500 Abfragen.


    Es muss also ein regulärer Ausdruck gefunden werden, welcher möglichst wenig Ergebnisse liefert. In diesen Fall könnte der Ausdruck zum Beispiel so lauten:


    Code
    1. Danke,\r\n([A-Za-z0-9_-]+)
  • Hallo,


    denken Sie beim Punkt bitte daran, dass dieser zunächst mal für jedes Zeichen gilt. Sie können diese besondere Behandlung umgehen, indem Sie in "escapen", d.h. einen Backslash vorranstellen. Das Minuszeichen sollte in einer Zeichenmenge immer ganz am Ende stehen, weil es sonst eine besondere Bedeutung bekommt.


    Der vollständige Ausdruck könnte also so aussehen:


    Code
    1. Danke,\r\n([A-Za-z0-9_\.$&%-]+)