Abfrage mit Schleife bei email-Antwort

  • Hallo...

    Bei einer Antwort auf eine eMail soll auf bestimmte Vorkommen geachtet werden, und Anhand diesen Auswertungen soll die neue Mail erstellt werden.

    Ich kann zwar mit Regex prüfen, ob ein bestimmter String vorkommt, aber was mache ich wenn dieser String mehrmals vorkommt? Hier müsste dann eine Art if-Schleife durchlaufen werden. Geht das?

    Weiterhin hätte ich gerne ein Auswahl-Feld, in welchen man einen bestimmtenText auswählen kann, der dann in der Mail aufgenommen werden. Am besten Radio-Buttons wo zwischen unterschiedlichen Texten gewählt werden kann.

    Nach Erstellung der Antwort-Mail sollte die Ursprung-Mail in einen bestimmten Ordner verschoben werden.

    Falls das ganze nicht über Standard-Funkionen realisierbar ist, wäre das über einen Plugin machbar? Gibt es da einen? Wenn nein, könnte mir das hier jemand (gegen Bezahlung) machen?

    Achja, TheBat 2.12, aber das dürfte ja Versionsübergreifend sein (never stop a running system).

    Wenn mir jemand helfen könnte, dann würde ich alles noch mal Anhand Beispielen genau erläutern.
    Wie gesagt, auch gegen Bezahlung.

    Gruß
    Andreas

  • Zitat

    Bei einer Antwort auf eine eMail soll auf bestimmte Vorkommen geachtet werden, und Anhand diesen Auswertungen soll die neue Mail erstellt werden.


    Einfach gesagt

    Code
    %IF:"regexp"="suchstring":"%include='datei1.txt'":"%include='datei2.txt'"
    Zitat

    Ich kann zwar mit Regex prüfen, ob ein bestimmter String vorkommt, aber was mache ich wenn dieser String mehrmals vorkommt?


    Was genau meinst du? Ob ein String nun einmal oder öfter vorkommt ist doch eigentlich egal oder? Die jeweilige Vorlage soll doch dann geladen werden.

    Zitat

    Weiterhin hätte ich gerne ein Auswahl-Feld, in welchen man einen bestimmtenText auswählen kann, der dann in der Mail aufgenommen werden. Am besten Radio-Buttons wo zwischen unterschiedlichen Texten gewählt werden kann.


    In neueren Versionen gibt es im Editor unter "Hilfsmittel" den Punkt "Schnellvorlage ausführen". Hier springt dann ein Fenster auf, wo man die jeweilige Vorlage auswählen kann.

    Zitat

    Nach Erstellung der Antwort-Mail sollte die Ursprung-Mail in einen bestimmten Ordner verschoben werden.


    Je nachdem was du genau möchtest, kann man das evtl. einfach über einen Ausgangsfilter definieren, wobei ich bei V2 nicht sicher bin, wie umfangreich der Filtermanager ist.

  • Hallo Bernd,

    vielen Dank für deine Antwort.
    Ich führe mal ein paar Beispiele auf:

    Zitat


    Sehr geehrte Damen und Herren,

    bla bla bla

    bla bla bla bla bla bla bla ***123
    bla bla bla bla bal bla

    bla bla bla bla ***456
    bla bla bla

    Mit freundlichen Grüßen
    ...


    Die Antwortmail soll wie folgt ausschauen:


    Zitat


    Sehr geehrte Damen und Herren,

    hier ist der Text, der neu erstellt wird...
    und hier geht der Text weiter ....

    Und die Zahl lautet 123
    Und die zweite Zahl lautet 456

    Mit freundlichen Grüßen
    ...


    Jetzt ist es aber so, dass die Zahl hinter den " ***" nur einmal vorkommen kann, aber auch öfers.
    Wenn diese 1x vorkommt, dann soll der Text unten "und die Zahl lautet.." auch nur 1x aufgeführt werden.
    Wenn die Zahl öfters ist, dann entsprechend so oft, wie die Zahl vorkommt.

    Prinzipiell müsste jetzt geprüft werden, ob das " ***" vorkommt, wenn ja, dann den Text ausgeben.
    Dann müsste der Text weiter geprüft werden, ob das " ***" noch mal vorkommt, und entsprechend wieder der Text.

    Eine externe Datei möchte ich nicht einbinden, das soll alles in die Vorlage mit rein.
    Die Schnellvorlagen gibt es in dieser Version auch schon.

    Ich verwende auch bereits MyMacros, da kann man ja Input-Felder verwenden. Sowas in der Art wäre als Radio-Button
    gut. Also ich starte die Schnellvorlag, dann kommt das Radio-Button mit folgender Auswahl:
    - Vorlage 1
    - Vorlage 2
    - Vorlage 3

    Je nachdem welcher Radio-Button (oder eben ein anderer Button) ausgewählt wird, wird ein vorgefertigter Text im Makro als
    Mailtext verwendet.

    Verstehst du, was ich meine?

    Ich könnte dir auch per eMail mal so eine komplette Mail schicken, damit du verstehst, wie es in der Praxis ausschaut.

    Vielen Dank noch mal für deine Antwort.

    Gruß
    Andreas

  • Hallo noch mal.

    Schade dass keiner mehr Antwortet.
    Vielleicht ist es besser, wenn wir es der Reihe nach durchgehen.

    Folgende Zeile steht in der Ursprung-Mail (%TEXT):
    *** 1 x Artikel ***11111
    bla bla bla

    Ich möchte nun die Zahl (11111) haben.
    Also von " ***" bis "Zeilenende".

    Ich kenne mich mit den Regex nicht so aus, aber eigentlich müsste es so lauten:
    %setpattregexp='( \*\*\*)(.*$)'%-
    %RegExpBlindMatch(%Text)%-
    %SubPatt="2"

    Aber es wird folgendes ausgegeben:
    11111
    bla bla bla

    Es müsste doch beim Zeilenende abgebrochen werden.
    Was mache ich da falsch? Mit \n habe ich es auch schon probiert.

    Gruß
    Andreas

  • Hallo...

    So, das habe ich jetzt soweit fertig gebracht.
    Wie kann ich jetzt eine Schleife machen, damit geprüft wird, ob das " ***" noch mal vorkommt?
    Wenn es noch mal vorkommt, dann sollte noch mal eine bestimmte Ausgabe erfolgen. Es kann auch durchaus sein, dass das " ***" noch öfters vorkomt. Hier bräuchte ich dann immer eine neue Ausgabe in der Form: bla bla bla-12345

    Wie kann man sowas machen?

    Gruß
    Andreas

  • Schleifen sind eine haarige Sache und können das Programm schnell mal zum Absturz bringen, wenn man etwas falsch macht.

    Vom Prinzip her läuft es so, dass man 2 Vorlagen braucht, die sich gegenseitig immer wieder aufrufen, eine gemeinsame Variable abarbeiten und den aktuellen Stand wieder an die jeweils andere Vorlage übergeben. Habe ich mal für irgendeine meiner Vorlagen hier im Forum gemacht, ist keine schöne Sache zum arbeiten.

    Vielleicht ginge es mit dem XMP einfacher, allerdings habe ich gerade keine Zeit mich damit zu beschäftigen. Solltest du es nicht hinbekommen, könntest den Programmierer ja einfach mal anschreiben, er war früher hier im Forum sehr aktiv und kann dir vielleicht auch sagen ob/wie es mit dem Plugin funktioniert..

  • Hallo Bernd,

    vielen Dank für deine Antwort.
    Ich werde dann versuchen, den Autor von XMP zu erreichen.

    Ich hätte noch eine Frage, bei der du mir vielleicht weiter helfen könntest.
    Und zwar kann ich ja mit dem Filter-Assistens "Beantwortete Nachrichten" in einen anderen Ordner verschieben.
    Hier kann ich auch Filtertexte einstellen, die vorhanden sein müssen. Aber diese Filtertexte beziehen sich auf die Ursprungsmail.
    Gibt es eine Möglichkeit, dass z.B. der Betreff der neu erstellten Mail ausgewertet wird, und wenn dieser einen Bestimmten Eintrag
    enthält, wird die Ursprungsmail verschoben.

    Gruß
    Andreas

  • Entschuldige, da hab ich wohl was falsch verstanden.

    Ohne es getestet zu haben:

    Du könntest vielleicht für ausgehende Nachrichten einen Filter anlegen, der als Aktion eine Filtervariable anlegt mit einem Inhalt in der Art "Original verschieben".

    Für den "beantwortete Mail"-Filter könntst du die Prüfung machen "Filtervariable 'XXX' ist gleich 'Original verschieben'" und als Aktion dann diese Nachricht verschieben lassen. Ich kenne mich allerdings mit den Filtervariablen nicht aus, so dass man vielleicht zusätzlich noch eine Aktion machen müsste, die die Filtervariable umbenennt oder löscht.

    Ob das nun klappt kann ich nicht beurteilen, da ich nicht weiß in welcher Reihenfolge/Priorität die Filter der verschiedenen Kategorien abgearbeitet werden.

  • Hallo Bernd,

    wenn es du schon nicht kannst, dann ich erst recht nicht:-)
    Vielleicht ist ja einer im Forum, der das weis?

    Oder gibt es vielleicht ein Makro/Plugin, mit welchem man sowas realisieren könnte?

    Gruß
    Andreas

  • Ich wollte das jetzt mal basteln mit dem Filter, ich scheitere aber leider.

    Mein Problem ist: Der Filter in der Kategorie "beantwortete Nachricht" wird bei mir nicht ausgeführt, selbst wenn ich "alle Nachrichten" auswähle.

    Weiter kann ich es leider nicht testen, habe keine Zeit mehr und werde in den nächsten paar Wochen auch keine Möglichkeit dazu haben. Vielleicht hat ja doch noch jemand eine zündende Idee.


  • Ich werde dann versuchen, den Autor von XMP zu erreichen.

    Nicht, daß ich der Autor wäre, aber XMP sollte Dir weiterhelfen: schau Dir mal XMP_STrItemCnt, XMP_StrLnCNt, XMP_StrLines, XMP_For an. Vieleicht kannst Du da schon das Gewünschte basteln.

    Grüße,
    Uli

  • Hallo Uli,

    vielen Dank für deinen Tipp, aber die Funktionen habe ich schon mehrmals rauf- und runter geblättert und auch gesehen.
    Aber bei mir scheitert es an der Umsetzung.

    Oder kanns du mir sagen, wie die Abfrage sein muss?

    Hier noch mal wie es ausschaut:
    ==============================
    bla bla bla

    *** 1 x bla bla bla ***123
    bla bla bla
    bla bla bla
    bla bla bla

    *** 1 x bla bla bla ***456
    bla bla bla
    bla bla bla
    ==============================

    Und ich brauche die "123" und "456".

    Gruß
    Andreas

  • Hallo...

    Ich hatte Kontakt mit dem Autor von XMP, und er meinte dass hier XMP keine Lösung bietet, aber er schrieb auch, dass dies mit TheBat-Möglichkeiten realisierbar ist.

    Kennt sich jemand damit aus, der mir weiterhelfen könnte?

    Gruß
    Andreas

  • Nicht zu deinem Hauptproblem, sondern zu dem Filter-Problem kann ich kurz mitteilen, dass sich Filterbedingungen aus Abschnitten "Eingehende", "Gelesene" und "Beantwortete" ausschließlich auf empfangene Originalnachrichten beziehen. Daher musst du einen Filter unter "Ausgehende Nachrichten" erstellen, wenn eine Filterbedingung deine eigene Nachricht betreffen soll. Dort wiederum kannst du nicht auf Originalnachrichten zugreifen. Daher müssen wohl zwei Filter erstellt werden, wie bereits von Bernd vorgeschlagen, und dabei sie beide oder zumindest einen davon manuell über einen Shortcut ausführen lassen. Oder du filterst nur anhand der eigenen Nachricht, die etwas enthalten muss, was eindeutig darauf hindeutet, dass das eine Antwort-Nachricht ist, z.B. "RE" im Betreff o.ä. Das wäre die einfachste Lösung.

  • Hallo Bernd,

    ich hätte noch ein Anliegen zu deiner ersten Antwort.
    Und zwar geht es um folgendes:
    %IF:"regexp"="suchstring":"%include='datei1.txt'":"%include='datei2.txt'"

    Ich möchte, dass wenn in %TEXT der String "12,80 Euro" vorkommt, die Datei "datei1.txt" includiert wird.
    Wenn dieser Text nicht vorkommt, dann nichts.

    Gibt es hier auch die Möglichkeit, mehrere Übereinstimmungen zu prüfen?
    Also in %TEXT muss "12,80 Euro" UND "Bezahlung" vorkommen, daimt die "datei1.txt" includiert wird?

    Irgendwie klaptt das nicht, wenn ich das mache.
    Wenn es einfacher ist, gerne auch mit dem XMP-Makra, das ist vorhanden.

    Gruß
    Andreas