Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>PDF-Anhänge automatisiert aus eingehender Mail extrahieren

PDF-Anhänge automatisiert aus eingehender Mail extrahieren

MrChad04.03.2309:00
Im Netz kursieren verschiedene Versionen eines Applescripts, die automatisiert PDF-Anhänge aus eingehenden Mails extrahieren sollen. Leider funktionieren diese nur so la-la und versagen oft.


Diesen Scripts ist vieles gemeinsam und sie versagen typischerweise an der entscheidenden Stelle mit wechselnden Fehlern:
save oneAttachment in file (destFolder & theName) -- (oder ähnlich)

... und hier geht's weiter ...
+1

Kommentare

MikeMuc04.03.2314:09
MrChad
wechselnden Fehlern… bitte aufzählen und im Wortlaut wiedergeben
Bei den aktuellen Systemen könnte ich mir gut vorstellen, das da zB Apples Sandbox bzw. fehlende Zugriffsrechte des Scripts oder Mail auf die verwendeten Ordner einem dazwischenfunken.
0
ThorsProvoni
ThorsProvoni04.03.2314:30
Ich hab für Dich mal ChatGPT gefragt (und ausprobiert - es funktioniert):
Betriebssystem: macOS. Schreibe ein Apple Script, das aus einer Email durch eine Regel aufgerufen wird und den Anhang einer Email in ein Verzeichnis speichert
Sicher, ich kann Ihnen ein Apple Script erstellen, das aus einer E-Mail durch eine Regel aufgerufen wird und den Anhang einer E-Mail in ein Verzeichnis speichert. Bitte führen Sie die folgenden Schritte aus:

Öffnen Sie den Apple Script Editor auf Ihrem Mac. Sie finden es unter "Programme Dienstprogramme Script-Editor".
Erstellen Sie ein neues Skript, indem Sie auf "Neues Dokument" klicken.
Fügen Sie den folgenden Code in das Skript ein:
using terms from application "Mail"
    on perform mail action with messages theMessages for rule theRule
        repeat with theMessage in theMessages
            repeat with theAttachment in mail attachments of theMessage
                try
                    set attachmentName to name of theAttachment
                    set saveFolder to (choose folder with prompt "Speicherort auswählen") as text
                    set savePath to saveFolder & attachmentName
                    save theAttachment in file (savePath)
                end try
            end repeat
        end repeat
    end perform mail action with messages
end using terms from

Speichern Sie das Skript unter einem beliebigen Namen ab, z.B. "Speichern von E-Mail-Anhängen".
Öffnen Sie die "Mail"-App und wählen Sie "Einstellungen Regeln".
Klicken Sie auf das "+"-Symbol, um eine neue Regel hinzuzufügen.
Geben Sie der Regel einen Namen, z.B. "Speichern von Anhängen".
Wählen Sie "Alle Bedingungen" aus dem ersten Dropdown-Menü aus.
Wählen Sie "Anhang vorhanden" aus dem zweiten Dropdown-Menü aus.
Klicken Sie auf "Aktion hinzufügen" und wählen Sie "Skript ausführen" aus.
Wählen Sie das Skript aus, das Sie zuvor erstellt haben.
Klicken Sie auf "OK", um die Regel zu speichern.
Jetzt wird das Skript jedes Mal ausgeführt, wenn eine E-Mail mit einem Anhang empfangen wird, der den Bedingungen der Regel entspricht. Das Skript fragt Sie nach einem Speicherort und speichert dann den Anhang in diesem Verzeichnis.
+1
ThorsProvoni
ThorsProvoni04.03.2314:39
Falls Du den Anhang automatisch (ohne Prompt) speichern möchtest (in dem Beispiel im HOME-Verzeichnis), sieht das ganze so aus (sagt ChatGPT, ich habe es erfolgreich ausprobiert):
using terms from application "Mail"
    on perform mail action with messages theMessages for rule theRule
        repeat with theMessage in theMessages
            repeat with theAttachment in mail attachments of theMessage
                try
                    set attachmentName to name of theAttachment
                    set saveFolder to (path to home folder) as text
                    set savePath to saveFolder & attachmentName
                    save theAttachment in file (savePath)
                end try
            end repeat
        end repeat
    end perform mail action with messages
end using terms from
0
MrChad04.03.2315:10
ThorsProvoni
ChatGPT
Ich bin absolut dagegen, dass Versatzstücke von diesen hirnlosen Plauder-Robotern in der Rubrik "es funktioniert" gepostet werden. Nicht ohne Grund ist sowas auf StackOverflow etc. schon längst untersagt worden.

Im Übrigen hatte ich bereits ganz zu Beginn Links zu vier (in Worten: 4) im wesentlichen gleichlautenden Scripten gepostet.
-1
MrChad04.03.2315:12
MikeMuc
wechselnden Fehlern… bitte aufzählen und im Wortlaut wiedergeben

Ich erinnere mich nicht mehr an jede einzelne Meldung. Was definitiv NICHT mit irgendwelchen Rechten zu tun hat:

(1) Wenn die genannten Scripts unmittelbar beim Empfang der Nachricht getriggert werden, ist das Attachment-Objekt öfter mal (null).
Das kann man umgehen, indem man im Script zuerst die Mail (im eigenen Fenster) öffnet.
Auf Deutsch: In Mail ist der vollständige MIME-Tree dem Script erst zugänglich, nachdem die Mail betrachtet wurde. Das ist für automatische Bearbeitung natürlich Müll.

(2) Bei komplexeren Mails (ich vermute: mit mehreren Attachments und "multipart/related" Struktur) findet Mail das eigentliche Attachment auch nicht.
Ich habe hier verschiedene Nachrichten(-Typen) ein und desselben Absenders. Manche können die genannten Scripte bearbeiten, manche nicht.
-1
ttwm04.03.2315:44
@MrChad: welche Systemversion bzw. Apple Mail-Version verwendest Du? AppleScript ist je nach eingesetztem Software-Stand leider unterschiedlich zickig (von gar nicht bis vollkommen…).
0
Oxymoron04.03.2315:46
Ich benutze dafür Hazel.
0
MrChad04.03.2316:50
ttwm
welche Systemversion
Selbstverständlich immer nur the-latest-and-greatest, s.unten

Ich darf dann noch erwähnen, dass der hier beschriebene Code nur einen Teil des gesamten Ablaufs enthält. Den Teil mit der Klassifizierung und Sortierung der diversen PDFs habe ich euch erspart.

Und nicht zuletzt steckt in dem Projekt auch ein gutes Stück Spaß an der Freude drin.

0
ThorsProvoni
ThorsProvoni04.03.2317:31
MrChad
ThorsProvoni
ChatGPT
Ich bin absolut dagegen, dass Versatzstücke von diesen hirnlosen Plauder-Robotern in der Rubrik "es funktioniert" gepostet werden. Nicht ohne Grund ist sowas auf StackOverflow etc. schon längst untersagt worden.

Im Übrigen hatte ich bereits ganz zu Beginn Links zu vier (in Worten: 4) im wesentlichen gleichlautenden Scripten gepostet.
Verstehe nicht, warum Du so angepisst bist wenn man Dir versucht zu helfen. Ich habe den Code übrigens vorher ausprobiert und deshalb geschrieben, dass es funktioniert.

Ob eine KI sinnvoll ist oder nicht oder ob man das benutzen soll oder nicht kann man gerne diskutieren, ich fand das als gutes Beispiel, wie man mit Hilfe einer KI bei einem konkreten Problem eine Lösung finden kann - was Dir anscheinend vorher nicht gelungen ist.
+5
MikeMuc05.03.2312:05
ThorsProvoni
echt cool, der Vorschlag mit der KI. Nun muß die nur noch mit ihrer geballten Intelligenz rausfinden, warum das bei manchen Mails nicht funktioniert.
Ich würde das erstmal nicht mit einer Regel versuchen sondern im Scripteditor das Ganze erstmal an einer markierten Mail testen. 1x bei einer, bei der es funktioniert und dann mit einer Mail, bei der Mail bzw das Script streikt. Dann ggf solch eine Problemmail ( mit unverfänglichen Inhalt) mal exemplarisch zum Anschauen bei Pastebin („Quellcode aus der .eml) Posten. Dann kann hier die Foren KI vielleicht was erkennen
-1
marm05.03.2312:30
ThorsProvoni
Verstehe nicht, warum Du so angepisst bist wenn man Dir versucht zu helfen. Ich habe den Code übrigens vorher ausprobiert und deshalb geschrieben, dass es funktioniert.
MikeMuc
echt cool, der Vorschlag mit der KI. Nun muß die nur noch mit ihrer geballten Intelligenz rausfinden, warum das bei manchen Mails nicht funktioniert.
Ihr habt schon gesehen, dass MrChad sich zuvor mit zwei Journal-Artikeln viel Arbeit gemacht habt?
Nun diskutiert Ihr stattdessen das KI-Ergebnis. Mich würde das auch frustrieren.
Der rote Text dort ⬇︎ ist ein Link.
0
MikeMuc05.03.2314:06
marm
ich diskutiere da garnix sondern finde die Idee und das dort fabrizierte Resultat einfach nur gut. Wie kommst du darauf, das man aus einem Lob eine Abwertung herauslesen soll?
Davon ab, war meine 2. Intention, wie man der Ursache auf den Grund kommen könnte, warum manche Mails nicht wie gewünscht verarbeitet werden. Ob mit oder ohne KI… es dürfte klar sein, das der ChatGPT dabei kläglich versagt. Und man da selber ran muß.
0
ttwm08.03.2318:37
ThorsProvoni
… ich fand das als gutes Beispiel, wie man mit Hilfe einer KI bei einem konkreten Problem eine Lösung finden kann…

Ich behaupte mal, dass du noch nie mit AppleScript gearbeitet hast und deswegen nicht wissen kannst, dass AS - je nach Input, System- und Programm-Version - gerne mal Mist baut. Da hilft auch keine Standard-Programmierung einer KI, die das eben auch nicht weiß, sondern nur aus dem Lehrbuch zitiert.

Z. B. alleine die Tatsache, dass bei einigen Mails – definitiv mit beiliegendem PDF – in Mail in der Attachment-Spalte kein Icon für "Hier ist ein Attachment dran" angezeigt wird (Mail also selber behauptet, dass kein Attachment enthalten ist), zeigt doch, dass man mit AS hier ins Leere laufen muss.

Wenn Du nur Mails empfängst, wo alles in Ordnung ist, dann hast Du das für Dich sicherlich erfolgreich probiert - lässt aber keine Rückschlüsse auf den Rest der Welt zu. Und es ist definitiv auch kein Rückschluss, dass diese KI ein Problem erfolgreich lösen kann…
ThorsProvoni
…was Dir anscheinend vorher nicht gelungen ist.
Abgesehen davon, dass die KI auch nichts Neues in Sachen Programmierung beitragen konnte, was nicht in den Links vom TE auch schon stand (sofern man sie denn gelesen hat).
0
ThorsProvoni
ThorsProvoni18.03.2309:28
ttwm
Ich behaupte mal, dass du noch nie mit AppleScript gearbeitet hast und deswegen nicht wissen kannst, dass AS - je nach Input, System- und Programm-Version - gerne mal Mist baut.

Na Du Schlaumeier, wenn Du hier der tolle erfahrene AppleScript Experte bist, dann frage ich mich warum Du keine Lösung vorschlägst?
0
MrChad18.03.2309:41
Dieser Thread ist erledigt.
0
marm18.03.2310:19
ThorsProvoni
Ob eine KI sinnvoll ist oder nicht oder ob man das benutzen soll oder nicht kann man gerne diskutieren, ich fand das als gutes Beispiel, wie man mit Hilfe einer KI bei einem konkreten Problem eine Lösung finden kann - was Dir anscheinend vorher nicht gelungen ist.
Du hast den Link zur Lösung im Ausgangsbeitrag noch immer nicht gefunden?
-1
marode18.03.2310:36
ich würde mal sagen, das Problem liegt mit großer Wahrscheinlichkeit wie immer an Apple's extrem dilettantischen Mailclient, der vor Bugs nur so strotzt. Da man oft willkürlich, ohne ein Muster zu erkennen, Anlagen von bestimmten Nachrichten nicht auf die vorgesehene Art und Weise entfernen kann, wundert mich das Kernproblem in diesem Thread überhaupt nicht...anderes Thema: es war der Autor MrChad selbst, der das KI-Thema etwas ungeschickt aus einem Kommentar in den Fokus gerückt hat und deswegen jetzt nicht die beleidigte Leberwurst spielen sollte...
+1
ttwm18.03.2310:37
ThorsProvoni
Na Du Schlaumeier, wenn Du hier der tolle erfahrene AppleScript Experte bist, dann frage ich mich warum Du keine Lösung vorschlägst?
Ganz einfach: weil ich kein Ventura und kein Mail V16 zur Verfügung habe.
-1

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.