automatisch mails mit betreff als dateinamen abspeichern

  • hallöchen!

    und gleich noch ein problem....

    gibt es eine möglichkeit, bestimmte mails automatisiert so abzuspeichern, dass der betreff als dateiname genommen wird - ähnlich wie tb das beim manuellen speichern vorschlägt?

    nun kann ich zwar einen filter erstellen (genau das was ich will!!) mit "mail exportieren". aber dort wird explizit eine dateiname abgefragt, wohin ich meine mail speichern soll. dieser dateiname soll aber mailbezogen aus dem betreff gebildet (mit .txt als endung) - also für jede betroffene mail neu erstellt werden.
    lt. meinen recherechen im web ging das mal in grauer vorzeit (unter tb 1.xx), aber für die aktuelle version hab ich leider nichts gefunden

    gibts da heute auch irgendeine möglichkeit? eine makro? einen workaround? hat jemand einen tipp?

    ich könnte mir auch vorstellen, die mail unter einem fixen *.txt-file abzuspeichern (per vorlage - mit dem betreff in der 1. zeile) und dann eine .bat-datei laufen zu lassen um die .txt-datei gemäß dem betreff umzubennen. aber wie kann ich die erste zeile einer .txt-datei auslesen und zum dateinamen generieren wieder verwenden? ich hab dafür auch bei den batch-befehlen in windows nichts befriedigendes gefunden.

    hat das jemand schon mal probiert und geschafft? weiß jemand rat? bin für jeden hinweis dankbar!!

    cu, rume

  • Zitat

    gibt es eine möglichkeit, bestimmte mails automatisiert so abzuspeichern, dass der betreff als dateiname genommen wird - ähnlich wie tb das beim manuellen speichern vorschlägt?


    Ich behaupte mal unter Vorbehalt, dass es nicht geht, zumindest nicht direkt. Denn, es gibt 2 Optionen "Nachricht exportieren" und "Nachricht speichern" und der Betreff wird als Dateiname nur bei der zweiten Option vorgeschlagen, die aber wiederum leider nicht als Filteraktion zur Verfügung steht. Das hängt IMO auch damit zusammen, dass wenn man mehrere Nachrichten exportiert, nicht bei jeder Nachricht nachgefragt wird, unter welchem Namen man sie speichern möchte, so wie bei "Nachricht speichern". Und das ist auch der Sinn beim Filtern, dass also alles automatisiert wird. Wenn aber beim Export von 100 Nachrichten hundertmal nachgefragt wird, dann ist es nur lästig. Daher wurde wahrscheinlich "Nachricht speichern" nicht als Filteraktion integriert.

    Zitat

    dieser dateiname soll aber mailbezogen aus dem betreff gebildet (mit .txt als endung) - also für jede betroffene mail neu erstellt werden.


    Exportieren als einzelne Dateien geht problemlos, wenn man "Dateiname nummerisch erhöhen" wählt. Dabei wird aber leider als Dateiname nicht der Betreff, sondern der Name der Datei genommen, die du im Filtermanager gewählt hast und um 000x erhöht, also z.B. "mail0001.txt", "mail0002.txt" usw. Mehr kann man mit dem Filtermanager in dieser Situation IMO nicht machen.

    Zitat

    lt. meinen recherechen im web ging das mal in grauer vorzeit (unter tb 1.xx), aber für die aktuelle version hab ich leider nichts gefunden


    Vielleicht waren damals die Optionen "Nachricht exportieren" und "Nachricht speichern" vereint. Der Filtermanager sah ja auch ganz anders aus. :)

  • Zitat


    ich könnte mir auch vorstellen, die mail unter einem fixen *.txt-file abzuspeichern (per vorlage - mit dem betreff in der 1. zeile) und dann eine .bat-datei laufen zu lassen um die .txt-datei gemäß dem betreff umzubennen.


    Geht, wenn der Betreff eindeutig und jeweils unterschiedlich ist.

    1. Batchdatei erstellen (z.B. "c:\temp\RenMail.bat") mit dem Inhalt: ren %1 %2
    2. Filter erstellen für
    a) Mail exportieren, Dateiname z.B. "c:\temp\Temp.txt"
    b) Programm ausführen: c:\temp\RenMail.bat c:\temp\Temp.txt "%SUBJ.txt"
    Hier unbedingt aktivieren "Warte auf Prozessende"

    Je nach Betreff kommen da aber dann lustige Dateinamen bei raus. Der Betreff in der ersten Zeile wird nicht benötigt, der Aufbau der exportierten Datei ist egal, da das Dateiziel mit übergeben wird.

    Grüße - Rolf.

  • @ beta

    einfach genial auch wenns "bloß" ne "beta"-version ist... ^^ :ph34r: :punk:

    dein vorschlag funzt tatsächlich - hätte ich nie gedacht. noch dazu ist das ganze suuuuuuper einfach zu handeln. jetzt bin ich mit tb wieder fast versöhnt - ist ja doch ein tolles proggie.

    herzlichen dank an dich und alle, die mitgedacht haben

  • Zitat


    Viel zu kompliziert!

    Der Screenshoot aus dem Filtermanager sollte selbsterklärend sein.

    [Blockierte Grafik: http://upload.batboard.net/images/bild797b.png]


    Also ich habe mir genau so einen Filter angelegt (allerdings mit RFC 822-Nachrichtenformat), aber es funktioniert nicht. Ich habe bei den Bedingungen auch schon alles mögliche probiert (Quellordner usw.), jetzt habe ich es auf "alle Nachrichten", weil ich ja eigentlich sowieso selektieren möchte.

    Vielleicht bin ich ja einfach zu blöd, deshalb frage ich nochmal nach:

    1. Wo drunter habt ihr den Filter angelegt (eingehende,gelesene, beantwortete oder selektiv)?
    2. Habt ihr Bedingungen festgelegt?
    3. Bei Optionen irgendwas besonderes beachten (Tastenkombis)?
    4. Wie ruft ihr den Filter dann auf bzw. kann ich nur diesen Filter ausführen (mit Tastenkombis hat auch nicht funktioniert)?

    Es werden die Nachrichten durchgegangen, aber nichts gefiltert.

    Was mache ich falsch? :denk:

    Gruß,
    Petro

    * The Bat! Professional Edition Version 9.5 (32-bit) Christmas Edition*


  • Wenn nicht gefiltert wird (einfach mal die Logfunktion aktivieren), dann passt die Filterbedingung nicht.

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • Zitat

    Also ich habe mir genau so einen Filter angelegt (allerdings mit RFC 822-Nachrichtenformat), aber es funktioniert nicht.


    Habe ich auch und es klappt. Wusste nicht, dass man bei den Dateinamen auch Makros verwenden kann.

    Zitat

    1. Wo drunter habt ihr den Filter angelegt (eingehende,gelesene, beantwortete oder selektiv)?


    Ich habe es mit einem gemeinsamen Filter für gelesene Nachrichten getestet.

    Zitat

    2. Habt ihr Bedingungen festgelegt?


    Keine besonderen. Nur "Absender enthält @", da es bei mir für alle Nachrichten gelten soll.

    Zitat

    3. Bei Optionen irgendwas besonderes beachten (Tastenkombis)?


    Ich ja. Da ich es nur testen wollte, habe ich es über einen Shortcut gemacht. Der Reiter "Optionen" sieht fast komplett "angekreuzt" aus. :) Wenn man einen gemeinsamen Filter erstellt, dann sollte man natürlich noch den Reiter "Anwenden auf Konten" nicht vergessen, weil dort standardmässig alles deaktiviert ist.

    Zitat

    4. Wie ruft ihr den Filter dann auf bzw. kann ich nur diesen Filter ausführen (mit Tastenkombis hat auch nicht funktioniert)?


    Ich dann mittels des von mir festgelegten Shortcuts. Dabei kann man zuvor verschiedene Nachrichten in einem Ordner markieren. Ich habe bereits einen ähnlichen gemeinsamen Filter, um bei Nachrichten Dateianlagen in ein bestimmtes Verzeichnis zu speichern, so dass ich auch hier nach dem gleichen Prinzip vorgegangen bin.

    Übrigens, da ein Doppelpunkt in einem Dateinamen (zumindest unter Windows) nicht erlaubt ist, wird er durch einen Unterstrich ersetzt. Wenn also der Betreff z.B. "Re: Du kannst mich auch mal" lautet, dann wird die danach exportierte Datei "Re_ Immer zweimal mehr wie du.msg" bzw. .txt heissen. :) Das gilt übrigens für alle "unerlaubten" Zeichen, z.B. auch für "/" usw.

    Einmal editiert, zuletzt von sanyok (2. Mai 2006 um 19:06)

  • Jetzt habe ich irgendwas richtig gemacht, es funktioniert super. :banane:

    Jetzt müßte man den Filter noch irgendwie als Button in der Symbolleiste ablegen können, das wäre top.
    Aber so ist auch schon klasse.

    Danke nochmal für die Tips,
    Petro

    * The Bat! Professional Edition Version 9.5 (32-bit) Christmas Edition*


    Einmal editiert, zuletzt von Petrocelli (2. Mai 2006 um 22:09)

  • Zitat

    Die Optionen "Gemeinsamer Filter" und "Anwenden auf Konten" finde ich bei mir gar nicht.


    Filtermanager aufrufen und unter "Konto" aus der Drop-Down-Liste "Gemeinsame Filter" wählen. Dann kriegst du auch einen zusätzlichen Reiter "Anwenden auf Konten".

    Zitat

    Jetzt müßte man den Filter noch irgendwie als Button in der Symbolleiste ablegen können, das wäre top.


    Filter als Schaltflächen geht (noch) nicht, auch mit dem überarbeiteten Anpassungsmenü von v3.80 nicht. Man kann in die Symbolleisten nur das integrieren, was man auch über Menüs bzw. Kontextmenüs direkt aufrufen kann und die Filter kann man leider nicht direkt aufrufen, es sei denn, man benutzt Shortcuts.

    Einmal editiert, zuletzt von sanyok (2. Mai 2006 um 22:14)

  • Zitat


    Filtermanager aufrufen und unter "Konto" aus der Drop-Down-Liste "Gemeinsame Filter" wählen. Dann kriegst du auch einen zusätzlichen Reiter "Anwenden auf Konten".

    Als ich es abgeschickt hatte, habe ich es auch gefunden. Du warst zu schnell.

    Zitat


    Filter als Schaltflächen geht (noch) nicht, auch mit dem überarbeiteten Anpassungsmenü von v3.80 nicht. Man kann in die Symbolleisten nur das integrieren, was man auch über Menüs bzw. Kontextmenüs direkt aufrufen kann und die Filter kann man leidernicht direkt aufrufen, es sei denn, man benutzt Shortcuts.

    Schade eigentlich ...

    Gruß,
    Petro

    * The Bat! Professional Edition Version 9.5 (32-bit) Christmas Edition*


  • Zitat


    Viel zu kompliziert!


    Ich hätte es gerne noch komplizierter: Neben dem Betreff der Mail möchte ich auch noch eine ID-Nummer abspeichern, die sich aus einer MySQL bzw. deren Einbindung in eine Access-MDB-Datei ergibt.

    Mit dem MySQL-Plugin lese ich mir den gewünschten Wert der ID aus:

    Code
    %_ConnectionString='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=meine.mdb'%-
    %_Query='select max(id) from tabelle_id'%-
    %SQLQuery(%_ConnectionString, %_Query)%-


    Jetzt wird mir die Zahl ausgegeben. Was ich aber nicht schaffe ist, diesen Wert in meinem Macro weiterzuverarbeiten.
    Definiere ich also eine Variabel wie:

    Code
    %batwert=%SQLQuery(%_ConnectionString, %_Query)%-


    dann wird mir genau diese Zeichenfolge als String, und nicht als ermittelter Wert ausgegeben und jede weitere Verarbeitung wie das Erhöhen um 1 und die Kombination mit dem Subjekt zu einem Dateinamen wird unmöglich.

    Dann habe ich das PHP-Script getestet.

    Code
    %_PHP=#php.exe#%-
    $db=@MYSQL_CONNECT('localhost','');
    mysql_select_db(""); 
    usw.


    Damit lässt sich zwar wunderbar die Dateinummer generieren, aber der php.exe-Aufruf dauert ziemlich lange bis zur Ausführung - und das trotz (oder wegen) eines laufenden XAMP-Servers.

    Kann mir daher irgendwer helfen, indem er mir einen Tipp entweder dafür gibt, wie ich mit dem SQL-Plugin die Daten weiterverarbeiten, oder wie ich dem PHP-Aufruf Beine machen kann?

  • Ahoi.
    Möchte hier auf mich selbst antworten und im Rahmen dieses Beitrages mitteilen, dass ich eine Lösung gefunden habe, um das Ergebnis einer SQL-Abfrage als Dateinamen zu verwenden. Ein Profi hätte es sicher in 5 Minuten gemacht - ich brauchte mindestens 50 :(
    Aber vielleicht hilft es trotzdem jemanden weiter:
    Hierbei handelt es sich um ein Makro, das beim Speichern einer Mail aufgerufen wird. In einer Access-Tabelle (geht natürlich auch nur mit MySQL) sind MySQL-Tabellen eingebunden, von denen eine nach dem höchsten Wert abgefragt wird. Diese wird (eigentlich noch um 1 hochgezählt und) als Dateiname für eine weitere Datei benutzt, deren Inhalt die Mail ist.


    Was ich leider noch nicht schaffe ist, nach der ermittelten SQL-ID den Original-Betreffnamen dazu zu gesellen.
    So etwas klappt leider nicht:

    Code
    %_Query8="%_Query5\%_Query10-%OSubj.txt" %-
    %_Query8="%_Query5\%_Query10-%SUBJECT.txt" %-


    Hat jemand eine Lösung?

    Geändert:
    Habs schon raus: Die Sonderzeichen müssen aus dem Betreff entfernt werden, damit die Konventionen für die Dateibenennung eingehalten werden.

    Einmal editiert, zuletzt von Batler (9. Juli 2006 um 23:48)

  • hallo zusammen,

    ich habe das mit dem abspeichern auch versucht. leider wird mir als Dateiname leider nicht der Betreff ausgegeben sondern '#'

    Wer kann mir helfen?

  • Hast Du das benötigte SQL-Plugin (Macro)?

    Läuft Dein SQL-Server (ich habe den XAMPP am Laufen)?

    Greifst Du parallel von einem anderen Programm auf die SQL-Daten zu? (Dann klappt mein Speicher-Makro auch nicht - das Plugin benötigt wohl exklusiven Zugriff auf die MySQL-Tabelle)?

  • Zitat


    Hast Du das benötigte SQL-Plugin (Macro)?

    Läuft Dein SQL-Server (ich habe den XAMPP am Laufen)?

    Greifst Du parallel von einem anderen Programm auf die SQL-Daten zu? (Dann klappt mein Speicher-Makro auch nicht - das Plugin benötigt wohl exklusiven Zugriff auf die MySQL-Tabelle)?

    Was fürn SQL Plug in? in diesem ganzen thread war nirgends die rede davon.

    Ich habe keinen SQL Server.

    Wieso soll ich............??? Ich verstehe deine Antwort nicht.


    Ich wollte es wie die anderen vor mir, per Filterfunktion lösen. Scheint ja zumindest bei einigen geklappt zu haben. *grübel*

  • Zitat

    Ich verstehe deine Antwort nicht.


    Sorry, da Dein Beitrag direkt hinter meinem letzten Beitrag zu diesem Thema steht, dachte ich es geht um meinen SQL-Ansatz.
    Aber der "normale" Weg geht bei auch: Wenn ich eine Nachricht geöffnet habe bzw. eine Nachricht im Übersichtsfenster markliert ist und ich dann Strg+S drücke, will TB unter dem Betreffnamen + txt abspeichern.
    Welche Bat-Version hast Du denn? Denkbar das das bei früheren nicht ging?

  • Zitat


    Das ist doch overkill mit dem SQL Server!

    Wie meinen? Du meinst zuviel Aufwand für eine gesuchte ID?
    Der XAMP läuft ohnehin bei mir, weil ich MySQL noch für andere Applikationen nutze (die sich allerdings schon mal in die Quere kommen wegen des exkklusiven Zugriffs)