Stefan Sprickmann Kerkerinck, Dipl.-Ing., Computerversteher, Familienvater, und noch mehr.
AppleScript: Mail-Nachrichten als Datei wegspeichern
Wer viele eMails bekommt, kennt das Problem – der Posteingang wird voll, und es wird nötig, Nachrichten in Unterverzeichnisse oder Archive zu verschieben. Aber auch diese Archive und Unterverzeichnisse laufen irgendwann voll, und der Mailspeicherplatz gerade bei IMAP-Anbietern ist auch endlich.
Was liegt also näher, als Nachrichten gleich ins Filesystem (also: auf ein Laufwerk der Wahl) als Datei zu exportieren?
Das ist leider nicht ganz so einfach, denn Apple Mail bietet dafür erstmal keine Exportfunktion. Zwar kann man einzelne Dateien per Drag & Drop in den Finder ziehen, aber das ist für viele Dateien und systematische Ablage keine Option.
Also kommt AppleScript ins Spiel.
Ich habe das nachfolgende Skript natürlich nicht komplett selbst erfunden, sondern mich vorher im Web umgeschaut, ob es schon geeignete Ansätze gibt – zwei davon habe ich verwertet und ergänzt. Grundsätzlich wäre es möglich, jede Nachricht als PDF-Datei abzulegen – dem Vorteil der relativen Dokumentensicherheit steht der Nachteil gegenüber, dass eine solche Nachricht nicht einfach im Bedarfsfalle mit MAIL geöffnet und zitiert / weiterbearbeitet werden kann. Daher habe ich auf das EML-Format gesetzt.
Hier erstmal mein Skript (bitte ggf. nach rechts scrollen – Text lässt sich mittels copy/paste übernehmen und weiterverwenden):
Dieses Skript wird je nach Bedarf weiterentwickelt …
Was tut das Skript?
Es nutzt die im aktuellen Mailfenster markierten Nachrichten, speichert diese einzeln als *.EML-Datei in ein frei wählbares Verzeichnis und markiert sie abschließend in AppleMail mit einem grünen Fähnchen (damit klar ist, dass diese Nachrichten jetzt z.B. gelöscht werden können). Der Name der jeweiligen Datei besteht aus einem Präfix aus Datum und Uhrzeit sowie anhängend dem Betreff – optional vorangestellt auch dem Kurznamen des Absenders – der Mailnachricht; also beispielsweise „2017-09-11_21.32.55_Max MUSTER – Betreff….eml“). Somit ist bei konsequenter Verwendung ein Sortieren im Finder sehr leicht möglich.
Wie kommt das Skript auf den Rechner?
Das ist ein allerdings wenig tricky 🙂
Zunächst bitte die Applikation „Automator“ starten.
Dort dann wie im Bild gezeigt unter „Ablage“ – „neu“ einen neuen „Dienst“ erzeugen.
Sodann in der linken Spalte auf „AppleScript ausführen“ drücken und diesen Eintrag ins rechte Fenster ziehen – es öffnet sich ein fast leeres Skript-Template.
In diesem Skript-Template kann dann der bisherige Inhalt gelöscht und durch mein obiges – per Copy in die Zwischenablage genommenes – Skript ersetzt werden.Außerdem bitte den Inhalt der Felder „Dienst empfängt ausgewählten TEXT in JEDEM PROGRAMM“ auf „Dienst empfängt KEINE EINGABE in MAIL.APP“ ändern.
Ist das Skript einkopiert, bitte einmal auf den Play-Button drücken (das Dreieck unterhalb von „AppleScript ausführen“). Die Darstellung des Textes im Fenster ändert sich – Schlüsselworte werden markiert!Fast fertig.
Unter „Ablage“ – „sichern“ wird das Skript mit einem passenden Namen versehen und mit der Erweiterung .WORKFLOW abgespeichert.
Nach Beenden des Automators kann im Finder per Doppelklick auf die *.WORKFLOW-Datei ein Dialog aufgerufen werden, der das soeben erzeugte Skript als Dienst hinzufügt. VORSICHT – dieses „Installieren als Dienst“ verschiebt die Datei ins geschützte Verzeichnis „services“, was bedeutet, dass man sich vorher besser eine Kopie macht und woanders hinlegt …
Super. Jetzt kann in den Systemeinstellungen noch angepasst werden, ob dieser neue Dienst auch per Tastenkürzel aufrufbar sein soll …
Update 2021-01-09: letzten Stand des Skriptes einkopiert Update 2021-03-22: Skriptdarstellung verbessert Update 2025-11-08: letzten Stand des Skriptes einkopiert
36 Antworten auf “AppleScript: Mail-Nachrichten als Datei wegspeichern”
Hallo, ein Tolles Script mit umfangreichen Funktionen. Ich habe sehr lange nach so einer Lösung für MacOS gesucht.
Da ich von der Programmierung keine Ahnung haben hätte ich noch eine Bitte/Idee. Wäre es möglich das so zu machen, dass vor dem Speichern erstmal der Betreff angezeigt wird und dadurch einem die Möglichkeit gibt diesen nacheditieren zu können. Manchmal steht im Betreff einiger Emails tausend mal WE: RE: oder ein komplett falscher Inhalt drin, was ich gern ändern wollen würde bevor es im Dateinamen auftaucht.
Die Idee, den Betreff zu editieren, hat aber ein grosses Problem – derzeit kann das Skript auch mehrere (sogar „sehr viele“) Nachrichten auf einmal verarbeiten, die aber ziemlich sicher auch unterschiedliche Betreffzeilen haben werden. Wie sollte das gehandhabt werden? Also dürfte das Skript nur noch „Einzelnachrichten“ verarbeiten, und damit entfällt ein grosser Zeitgewinn.
Lösung: mehr (Selbst-)Disziplin bei der Betreffbezeichnung der Nachrichten. Und ggf. eine strukturierte Ablage (nach Themen oder Projekten).
Nun, es steht Dir frei, das Skript nach Belieben zu modifizieren. Dann müsste halt eine entsprechende Abfrageprozedur integriert werden (Betreff anzeigen, ggf. Änderungen abfragen und übernehmen) – vermutlich keine große Sache, aber: Ich sehe keinen Nutzen darin, siehe oben.
Ich setze hier ein eigenes Shellskript ein, das mittels email2pdf von Andrew Ferrier – https://github.com/andrewferrier/email2pdf – in einem Ordner gespeicherte .eml-Dateien (nach Aufruf in Hazel) in ein PDF-Dokument wandelt.
Das sollte relativ einfach gehen … durch Einfügen einer Zeile „set theYear to characters 3 through 4 of (theYear as string)“ hinter der Zeile „set theYear to year of msgDate“ … hab’s jetzt aber nicht ausprobiert, weil ich die vierstellige Darstellung behalten will.
Hallo, ich habe es nun geändert und es funktioniert, super!
Eine Frage noch, könnten die Dateien eigentlich auch im msg-Format gespeichert werden? Dann würden die Kollegen mit Outlook diese doch auch öffnen können.
Moin, ja super vielen Dank dafür, das erspart mir eine Menge Arbeit und das Markieren der Mails ist wirklich praktisch zur Kontrolle.
Ich würde mir auch gerne noch (optional) den Absender im Dateinamen zwischen Zeit und Betreff wünschen. Gerne nur als „Anzeige-Namen“ aufgrund der Dateilängenproblematik.
Ebenfalls vielen Dank für die Rückmeldung (und die Anerkennung 😉 ), es freut mich, wenn mein Skript irgendwo nützlich ist.
Natürlich kannst Du das Skript nach Belieben verbessern und insbesondere das „Zusammenbauen“ des Dateinamens an Deine Erfordernisse anpassen; die Dateinamenslängenproblematik kennst Du ja. Ich habe mich seinerzeit dagegen entschieden, den Absender in den Dateinamen aufzunehmen, denn es steht zu erwarten, dass immer wieder mal Nachrichten von Absendern mit sehr langen Namen eingehen, die nicht als „Anzeigename“ umschlüsselbar sind (z.B. „Serviceannahme Autohaus Mayer in Hintertupfingen“). Ich fand da den Betreff relevanter („Auftrag 1234455, Ihr Wagen AB-CD 1234“).
Falls Du aber eine brauchbare Umsetzung findest, interessiert mich die natürlich auch.
na klar, gerne 😉 …
Das ist ja gerade mein Problem, ich bin tatsächlich nicht in der Lage die Programmierung anzupassen ^^ das übersteigt meine Fähigkeiten. Danke dir für die Änderungen, werde es die Tage mal testen
so, ich habe es mal getestet. Aber irgendwas funktioniert da nicht so richtig. Bei relativ kurzen Betreff und Absender werden trotz Standardeinstellung und geänderter Einstellung (25 Absender – 150 Betreff) nicht komplett ausgegeben, sondern bei 10 abgeschnitten. Im gleichen Durchlauf werden längere Absender+Betreffs mit längerem Absendernamen abgespeichert. Die Einstellungen zu ändern bringt leider keine Besserungen. Kann dir gerne per Mail genauere Infos geben.
Ja, bitte mehr Info 😉 … ich schau mir das an. Allerdings sind 25 plus 150 zzgl. des Datumsstempels schon über 200, und mit einem Pfad davor kann das für manchen Server zuviel sein (nur so als Hinweis). Die Defaultwerte beruhen auf entspr. Erfahrungswerten.
So … ich hab das mit dem optional aufzunehmenden Absender-Kurznamen mal schnell eingebaut, ginge sicher auch etwas hübscher, aber: es funktioniert. Viel Spaß beim Ausprobieren!
Unter macOS Big Sur musste ich das Skript im Skripteditor einfügen und nach dem erstmaligen Ausführen in ~/Library/Scripts/Applications/Mail speichern, damit ich es dann über das Skriptmenü in Apple Mail aufrufen kann. Falls das Skriptmenü nicht angezeigt wird, muss dies in den Einstellungen des Skripteditors aktiviert werden.
Interessant, danke. Bei mir wurde beim Wechsel auf Big Sur alles übernommen. Allerdings zielt meine Anleitung auch darauf ab, das Skript über das „Dienste“-Menü verfügbar zu machen, nicht über das „Skriptmenü“.
Hmmm … nachdem diese Frage jetzt schon zum wiederholten Male gestellt wird: ich habe das selber noch nicht umgesetzt, denke aber, dass es unter Verwendung der Beispielskripte möglich sein sollte, die unter /library/scripts/printing scripts/… auf jedem neueren Mac zu finden sind. „ConvertToPDF.scpt“ bietet da einen Ansatz, würde ich meinen.
Eventuell wäre der Weg, erst eine *.eml zu erzeugen und diese im zweiten Schritt gleich mittels „covert“ nach *.pdf umzusetzen; im dritten Schritt würde die *.eml wieder gelöscht.
Falls sich jemand dieser Aufgabe annehmen möchte, würde ich den Weg hier gerne begleiten und dokumentieren!
Hallo, danke für das tolle Skript. Ich würde auch gerne die Nachrichten als PDF abspeichern. Aber ich bekomme es nicht hin. Kannst Du helfen? das wäre toll.
Wie kann ich stattdessen PDF stammen EML realisieren? Hier klingt es so einfach, aber der einzige Weg, den ich bislang gefunden habe, ist über GUI-Scripting, was nicht wirklich zu gebrauchen ist. Wäre für einen Tipp sehr dankbar!
Ich würde gerne meine Mails nicht als *.eml sondern als *.emlx exportieren können.
PS.
Ich bezutze das Programm Hazel der Firma noodlesoft um meine Prozesse zu automatisieren.
Es währe Super wenn es ein abgespecktes Script geben würde, ohne die vielen Hiweis-Popuss und auswahlmöglichktieten.
Ich stelle mir den Arbeitsablauf wie folgt vor:
1. Mails auswählen die exprotiert werden sollen.
2. Script ausführen.
3. Meldung das xx Mail in den Ordner xxx gespreichert wurden. Diese Meldung mit OK bestätigen.
ps. alles Andere würde dann Hazel für mich machen.
Das auf der Webseite gezeigte Skript ist derzeit noch im Wesentlichen aktuell … die einzigen Anpassungen, die aber ohnehin jeder für sich selber treffen muss, beschreiben die gewünschte Dateinamenskonvention / Definition der Trennzeichen.
Den tieferen Sinn, auf das m.E. veraltete *.emlx-Format zu setzen, verstehe ich nicht. *.eml ist mittlerweile ein systemübergreifender Standard, welcher auch Dateianhänge mitnimmt (was ich für ziemlich wichtig halte!). *.emlx ist in der Urform lediglich ein Textformat für den Emailinhalt, speichert dann aber eben keine Anhänge. Macht das also wirklich Sinn?
Die Dialoge kann man natürlich ganz einfach auskommentieren, wenn nicht benötigt. Nachteil: man sieht nicht, ob/dass das Skript auch läuft.
In den Kommentaren hast Du auf eine Software hingewiesen, die ich noch nicht kenne (noodlesoft „Hazel“). Da würden mich die Praxiserfahrungen bzw. das Anwendungsszenario mal interessieren … wo kommt es denn vor, dass Hunderte ähnlicher Dateien anfallen und automatisiert verschoben werden müssen? Ich kenne das nur vom Import digitaler Fotografien, aber da ist ohnehin manuelle Sichtung erforderlich …
Hallo spr-IT danke für deine schnelle Antwort auf meine Fragen. Und Sie lesen richtig, mein Vorname wird mit „ie“ geschrieben 🙂
Meine ursprüngliche Idee war:
1. Emails aus Apple Mail, per drag and drop, auf den Desktop fallen lassen.
2. Hazel schiebt die *.eml Datei automatisch in ein von mir definiertes Verzeichnis.
3. Hazel nennt die ursprüngliche Datei z.B. „Autokauf.eml“ in mueller@bmw.de 2019-05-01 um 12.30 Uhr — Autokauf.eml um (die hierfür erforderlichen Daten soll Hazel aus dem Inhalt der Mail auslesen und für das Umbenennen verwenden).
(Name des Absenders) (Datum und Urzeit wan die Email versendet wurde) (Text im Betreff der Email)
Wenn ich Dateien im Format *.emlx bereitstelle kann Hazel die von mir benötigten Informationen aus der Email auslesen und die entsprechende emlx Datei entsprechend umbenennen. Bei *.eml funktioniert das leider nicht.
Ich dachte das Dateiformat *.eml wäre das Ältere Dateiformat und *.emlx das neuere, wie bei Word von Microsoft.
PS.
Hazel benutze ich um Dateien im Format (pdf, mp3, avi etc.) automatisch umzubenennen und in entsprechende Unterverzeichnisse zu verschieben. Die relevanten Dateiinformationen liest Hazel aus den oben genannten Dateien aus und verwendet diese dann z.B. um die Dateien umzubenennen oder Ordner entsprechend zu betiteln.
Ich lasse meinen Desktopinhalt von Hazel überwachen und sage dem Programm, dass es z.B. alle PDF-Dateien die den Textinhalt „Telecom, Rechnung vom **.**.****“ enthalten und länger als 7 Tage auf dem Desktop liegen, in einen bestimmten Ordner meiner Festplatte verschiebt und anschließend die Datei umbenennt. Auch lassen sich automatisch Tags zuordnen etc.
Hallo Frank, jetzt sind wir bei einem der großen Vorteile von macOS – hier funktioniert die Voransicht per Leertaste, das Öffnen per Doppelklick und natürlich auch die indizierte Suche per Spotlight :-))
VG, St.
Eine „VON“-Adresse sollte in einer Mailnachricht nur eine einzige vorhanden sein, das ginge also. Aber die „AN“-Adressen werden oft auch einfach alphabetisch sortiert zurückgegeben, da wäre es also wohl oft nicht die wirklich gewünschte …
Ich würde gerne immer die erste „VON“ bzw. „AN“. Email Adresse im Dateinnamen haben 😉
So ist es möglich viele Mails auf einmal zu sichern. Wahrscheinlich werde ich sie nie mehr anfassen müssen.
Bei bedarf kann ich einfach alle Dateien sortieren.
Ich habe schon gesucht aber nichts richtiges gefunden an die Email Adressen zu kommen. Dafür habe ich leider nicht genug Ahnung.
So wie das Script ist, kann ich aber schon etwas damit anfangen.
Meine Anmerkungen zu den Fragen setze ich unten zwischen den Text … Danke fürs Interesse an meiner Idee!
Übrigens – wenn solche Fragen nicht per E-Mail, sondern als Kommentar auf meinen Seiten gestellt werden, hat auch der nächste Leser was davon 😉
Gruß spr-IT
———————-
FRAGE:
Vielen Dank für das Script.
Ich würde gerne auf den Verteiler für die neuste Version gesetzt werden.
ANTWORT:
Einen „Verteiler“ gibt es nicht 😉
Das Skript dient als Anregung, selbst kreativ zu werden.
FRAGE:
Ist es auch möglich, die E-Mail Adresse in den Filename einzufügen?
z.B.
„xxxx@xxxx.de ___2019-01-27___15.12.39 – Betreff.eml“
ANTWORT:
Klar, aber – macht das Sinn? Gerade bei Mails an mehrere Empfänger wird das problematisch (welche Adresse soll herangezogen werden?). Außerdem wird der Dateiname ziemlich lang, was in Unterverzeichnisstrukturen bei der Ablage dann zu Problemen führen kann.
Ich empfehle stattdessen, mit Unterverzeichnissen für die wichtigsten regelmäßigen Partner zu arbeiten und die Dateinamen eher kürzer zu halten. So mache ich es selbst und bei Kunden seit Jahren zur vollsten Zufriedenheit…
FRAGE:
Und es wäre super, wenn ich unterscheiden könnte, ob ich die Mail gesendet oder bekommen habe.
Obwohl ich dann ja auch einfach zwei Scripte nehmen kann. 😉
ANTWORT:
Auch möglich, aber gleiches Thema wie oben (Länge des Dateinamens / Pfades). Ist das Konzept des „intelligenten Postfaches“ in Apple Mail bekannt? Dies in Verbindung mit einer Ordnerstruktur im Dateisystem erscheint mir persönlich am sinnvollsten.
Update – das Skript lebt und wird laufend weiterentwickelt … und bei jeder Änderung hier den aktuellen Quellcode einzukopieren, ist mir zu umständlich.
Den aktuellen Stand gibt es gerne auf Anfrage 🙂
Hallo, ein Tolles Script mit umfangreichen Funktionen. Ich habe sehr lange nach so einer Lösung für MacOS gesucht.
Da ich von der Programmierung keine Ahnung haben hätte ich noch eine Bitte/Idee. Wäre es möglich das so zu machen, dass vor dem Speichern erstmal der Betreff angezeigt wird und dadurch einem die Möglichkeit gibt diesen nacheditieren zu können. Manchmal steht im Betreff einiger Emails tausend mal WE: RE: oder ein komplett falscher Inhalt drin, was ich gern ändern wollen würde bevor es im Dateinamen auftaucht.
LikeLike
Danke für das Lob.
Die Idee, den Betreff zu editieren, hat aber ein grosses Problem – derzeit kann das Skript auch mehrere (sogar „sehr viele“) Nachrichten auf einmal verarbeiten, die aber ziemlich sicher auch unterschiedliche Betreffzeilen haben werden. Wie sollte das gehandhabt werden? Also dürfte das Skript nur noch „Einzelnachrichten“ verarbeiten, und damit entfällt ein grosser Zeitgewinn.
Lösung: mehr (Selbst-)Disziplin bei der Betreffbezeichnung der Nachrichten. Und ggf. eine strukturierte Ablage (nach Themen oder Projekten).
LikeLike
Unglaublich schnelle Antwort – ich bin beeindruckt! Vielen Dank!
Du hast recht, für die gleichzeitige Verarbeitung mehrerer E-Mails wäre das nicht ideal.
Ich wäre aber durchaus bereit, die E-Mails einzeln durchzugehen. Was müsste dafür ins Skript integriert werden?
Man könnte ja beide Automatisierungen beibehalten und je nach Situation entscheiden, welche zum Einsatz kommt.
LikeLike
Nun, es steht Dir frei, das Skript nach Belieben zu modifizieren. Dann müsste halt eine entsprechende Abfrageprozedur integriert werden (Betreff anzeigen, ggf. Änderungen abfragen und übernehmen) – vermutlich keine große Sache, aber: Ich sehe keinen Nutzen darin, siehe oben.
LikeLike
Super, tolles Script, dass ich gut einsetzen kann.
Da auf iPad und iPhone keine EML-Dateien geöffnet werden können:
lässt sich diese script erweitern und dann EML und/oder PDF speichern?
Beste Grüße
Wolfgang
LikeGefällt 1 Person
Ich setze hier ein eigenes Shellskript ein, das mittels email2pdf von Andrew Ferrier – https://github.com/andrewferrier/email2pdf – in einem Ordner gespeicherte .eml-Dateien (nach Aufruf in Hazel) in ein PDF-Dokument wandelt.
Das Skript sollte jeweils auf die eigenen Bedürfnisse angepasst werden:
https://michael.kallweitt.art/wp-content/uploads/2023/04/mailconvert.sh
LikeGefällt 1 Person
Perfektes Script, genau das habe ich schon lange gesucht. Vielen Dank!
LikeLike
Gerne! Danke für das Lob 😉
LikeLike
Hallo,
ein tolles Script, das hilft mir sehr!
Ich würde nur gerne das Datum anders darstellt bekommen.
Kann man das umstellen das nicht z.B: 2021-01-28_, sondern nur 21-01-28_ gespeichert wird?
Könnt ihr mit dabei helfen?
Viele Grüße
Yo
LikeLike
Das sollte relativ einfach gehen … durch Einfügen einer Zeile „set theYear to characters 3 through 4 of (theYear as string)“ hinter der Zeile „set theYear to year of msgDate“ … hab’s jetzt aber nicht ausprobiert, weil ich die vierstellige Darstellung behalten will.
Hat es funktioniert? http://paypal.me/StefanSK
Danke!
LikeLike
Hallo, ich habe es nun geändert und es funktioniert, super!
Eine Frage noch, könnten die Dateien eigentlich auch im msg-Format gespeichert werden? Dann würden die Kollegen mit Outlook diese doch auch öffnen können.
Viele Grüße
Yo
LikeLike
Ein Speichern im *.msg-Format ist nicht möglich, aber Outlook kann wohl auch *.eml öffnen (siehe hierzu auch https://www.derinternetfinder.de/pdf.php?cat=1&id=400&artlang=de). *.eml wird unter Windows ja auch von „allen anderen ausser Outlook“ verwendet 🙂
Hat das geholfen? http://paypal.me/StefanSK
Danke!
LikeLike
Moin, ja super vielen Dank dafür, das erspart mir eine Menge Arbeit und das Markieren der Mails ist wirklich praktisch zur Kontrolle.
Ich würde mir auch gerne noch (optional) den Absender im Dateinamen zwischen Zeit und Betreff wünschen. Gerne nur als „Anzeige-Namen“ aufgrund der Dateilängenproblematik.
LikeLike
Ebenfalls vielen Dank für die Rückmeldung (und die Anerkennung 😉 ), es freut mich, wenn mein Skript irgendwo nützlich ist.
Natürlich kannst Du das Skript nach Belieben verbessern und insbesondere das „Zusammenbauen“ des Dateinamens an Deine Erfordernisse anpassen; die Dateinamenslängenproblematik kennst Du ja. Ich habe mich seinerzeit dagegen entschieden, den Absender in den Dateinamen aufzunehmen, denn es steht zu erwarten, dass immer wieder mal Nachrichten von Absendern mit sehr langen Namen eingehen, die nicht als „Anzeigename“ umschlüsselbar sind (z.B. „Serviceannahme Autohaus Mayer in Hintertupfingen“). Ich fand da den Betreff relevanter („Auftrag 1234455, Ihr Wagen AB-CD 1234“).
Falls Du aber eine brauchbare Umsetzung findest, interessiert mich die natürlich auch.
LikeGefällt 1 Person
na klar, gerne 😉 …
Das ist ja gerade mein Problem, ich bin tatsächlich nicht in der Lage die Programmierung anzupassen ^^ das übersteigt meine Fähigkeiten. Danke dir für die Änderungen, werde es die Tage mal testen
LikeGefällt 1 Person
so, ich habe es mal getestet. Aber irgendwas funktioniert da nicht so richtig. Bei relativ kurzen Betreff und Absender werden trotz Standardeinstellung und geänderter Einstellung (25 Absender – 150 Betreff) nicht komplett ausgegeben, sondern bei 10 abgeschnitten. Im gleichen Durchlauf werden längere Absender+Betreffs mit längerem Absendernamen abgespeichert. Die Einstellungen zu ändern bringt leider keine Besserungen. Kann dir gerne per Mail genauere Infos geben.
LikeLike
Ja, bitte mehr Info 😉 … ich schau mir das an. Allerdings sind 25 plus 150 zzgl. des Datumsstempels schon über 200, und mit einem Pfad davor kann das für manchen Server zuviel sein (nur so als Hinweis). Die Defaultwerte beruhen auf entspr. Erfahrungswerten.
LikeLike
So … ich hab das mit dem optional aufzunehmenden Absender-Kurznamen mal schnell eingebaut, ginge sicher auch etwas hübscher, aber: es funktioniert. Viel Spaß beim Ausprobieren!
LikeGefällt 1 Person
Unter macOS Big Sur musste ich das Skript im Skripteditor einfügen und nach dem erstmaligen Ausführen in ~/Library/Scripts/Applications/Mail speichern, damit ich es dann über das Skriptmenü in Apple Mail aufrufen kann. Falls das Skriptmenü nicht angezeigt wird, muss dies in den Einstellungen des Skripteditors aktiviert werden.
LikeLike
Interessant, danke. Bei mir wurde beim Wechsel auf Big Sur alles übernommen. Allerdings zielt meine Anleitung auch darauf ab, das Skript über das „Dienste“-Menü verfügbar zu machen, nicht über das „Skriptmenü“.
LikeLike
hab es unter BigSur erfolgreich wie im Artikel beschrieben gemacht.
LikeLike
Hmmm … nachdem diese Frage jetzt schon zum wiederholten Male gestellt wird: ich habe das selber noch nicht umgesetzt, denke aber, dass es unter Verwendung der Beispielskripte möglich sein sollte, die unter /library/scripts/printing scripts/… auf jedem neueren Mac zu finden sind. „ConvertToPDF.scpt“ bietet da einen Ansatz, würde ich meinen.
Eventuell wäre der Weg, erst eine *.eml zu erzeugen und diese im zweiten Schritt gleich mittels „covert“ nach *.pdf umzusetzen; im dritten Schritt würde die *.eml wieder gelöscht.
Falls sich jemand dieser Aufgabe annehmen möchte, würde ich den Weg hier gerne begleiten und dokumentieren!
LikeLike
Hallo Stefan, kann man Dich zu diesem Skript noch erreichen?
Ich würde gerne die Konvertierung gleich in PDF umsetzen.
LikeLike
Björn, gerne. Ich bin aufs Ergebnis gespannt!
LikeLike
Hallo, danke für das tolle Skript. Ich würde auch gerne die Nachrichten als PDF abspeichern. Aber ich bekomme es nicht hin. Kannst Du helfen? das wäre toll.
LikeLike
Wie kann ich stattdessen PDF stammen EML realisieren? Hier klingt es so einfach, aber der einzige Weg, den ich bislang gefunden habe, ist über GUI-Scripting, was nicht wirklich zu gebrauchen ist. Wäre für einen Tipp sehr dankbar!
LikeLike
Ich würde gerne meine Mails nicht als *.eml sondern als *.emlx exportieren können.
PS.
Ich bezutze das Programm Hazel der Firma noodlesoft um meine Prozesse zu automatisieren.
Es währe Super wenn es ein abgespecktes Script geben würde, ohne die vielen Hiweis-Popuss und auswahlmöglichktieten.
Ich stelle mir den Arbeitsablauf wie folgt vor:
1. Mails auswählen die exprotiert werden sollen.
2. Script ausführen.
3. Meldung das xx Mail in den Ordner xxx gespreichert wurden. Diese Meldung mit OK bestätigen.
ps. alles Andere würde dann Hazel für mich machen.
LikeLike
Hallo Niels (mit „ie“?),
Das auf der Webseite gezeigte Skript ist derzeit noch im Wesentlichen aktuell … die einzigen Anpassungen, die aber ohnehin jeder für sich selber treffen muss, beschreiben die gewünschte Dateinamenskonvention / Definition der Trennzeichen.
Den tieferen Sinn, auf das m.E. veraltete *.emlx-Format zu setzen, verstehe ich nicht. *.eml ist mittlerweile ein systemübergreifender Standard, welcher auch Dateianhänge mitnimmt (was ich für ziemlich wichtig halte!). *.emlx ist in der Urform lediglich ein Textformat für den Emailinhalt, speichert dann aber eben keine Anhänge. Macht das also wirklich Sinn?
Die Dialoge kann man natürlich ganz einfach auskommentieren, wenn nicht benötigt. Nachteil: man sieht nicht, ob/dass das Skript auch läuft.
In den Kommentaren hast Du auf eine Software hingewiesen, die ich noch nicht kenne (noodlesoft „Hazel“). Da würden mich die Praxiserfahrungen bzw. das Anwendungsszenario mal interessieren … wo kommt es denn vor, dass Hunderte ähnlicher Dateien anfallen und automatisiert verschoben werden müssen? Ich kenne das nur vom Import digitaler Fotografien, aber da ist ohnehin manuelle Sichtung erforderlich …
LikeLike
Hallo spr-IT danke für deine schnelle Antwort auf meine Fragen. Und Sie lesen richtig, mein Vorname wird mit „ie“ geschrieben 🙂
Meine ursprüngliche Idee war:
1. Emails aus Apple Mail, per drag and drop, auf den Desktop fallen lassen.
2. Hazel schiebt die *.eml Datei automatisch in ein von mir definiertes Verzeichnis.
3. Hazel nennt die ursprüngliche Datei z.B. „Autokauf.eml“ in mueller@bmw.de 2019-05-01 um 12.30 Uhr — Autokauf.eml um (die hierfür erforderlichen Daten soll Hazel aus dem Inhalt der Mail auslesen und für das Umbenennen verwenden).
(Name des Absenders) (Datum und Urzeit wan die Email versendet wurde) (Text im Betreff der Email)
Wenn ich Dateien im Format *.emlx bereitstelle kann Hazel die von mir benötigten Informationen aus der Email auslesen und die entsprechende emlx Datei entsprechend umbenennen. Bei *.eml funktioniert das leider nicht.
Ich dachte das Dateiformat *.eml wäre das Ältere Dateiformat und *.emlx das neuere, wie bei Word von Microsoft.
PS.
Hazel benutze ich um Dateien im Format (pdf, mp3, avi etc.) automatisch umzubenennen und in entsprechende Unterverzeichnisse zu verschieben. Die relevanten Dateiinformationen liest Hazel aus den oben genannten Dateien aus und verwendet diese dann z.B. um die Dateien umzubenennen oder Ordner entsprechend zu betiteln.
Ich lasse meinen Desktopinhalt von Hazel überwachen und sage dem Programm, dass es z.B. alle PDF-Dateien die den Textinhalt „Telecom, Rechnung vom **.**.****“ enthalten und länger als 7 Tage auf dem Desktop liegen, in einen bestimmten Ordner meiner Festplatte verschiebt und anschließend die Datei umbenennt. Auch lassen sich automatisch Tags zuordnen etc.
Leider gibt es das Programm nur auf English.
LikeLike
Hallo Frank, jetzt sind wir bei einem der großen Vorteile von macOS – hier funktioniert die Voransicht per Leertaste, das Öffnen per Doppelklick und natürlich auch die indizierte Suche per Spotlight :-))
VG, St.
LikeLike
Eine Frage hab ich noch.
Mit welchen Programm kann ich am besten den Inhalt von .eml Dateien durchsuchen?
Oder muss ich, wenn ich etwas suche, die Dateien wieder in Mail-App kopieren? Das wäre aber aufwendig.
Viele Grüße
Frank
LikeLike
Eine „VON“-Adresse sollte in einer Mailnachricht nur eine einzige vorhanden sein, das ginge also. Aber die „AN“-Adressen werden oft auch einfach alphabetisch sortiert zurückgegeben, da wäre es also wohl oft nicht die wirklich gewünschte …
LikeLike
Vielen Dank für die schnelle Antwort.
Ich würde gerne immer die erste „VON“ bzw. „AN“. Email Adresse im Dateinnamen haben 😉
So ist es möglich viele Mails auf einmal zu sichern. Wahrscheinlich werde ich sie nie mehr anfassen müssen.
Bei bedarf kann ich einfach alle Dateien sortieren.
Ich habe schon gesucht aber nichts richtiges gefunden an die Email Adressen zu kommen. Dafür habe ich leider nicht genug Ahnung.
So wie das Script ist, kann ich aber schon etwas damit anfangen.
Liebe Grüße
Frank
LikeLike
Mailkontakt mit spr-IT:
———————-
spr-IT:
Hallo,
Meine Anmerkungen zu den Fragen setze ich unten zwischen den Text … Danke fürs Interesse an meiner Idee!
Übrigens – wenn solche Fragen nicht per E-Mail, sondern als Kommentar auf meinen Seiten gestellt werden, hat auch der nächste Leser was davon 😉
Gruß spr-IT
———————-
FRAGE:
Vielen Dank für das Script.
Ich würde gerne auf den Verteiler für die neuste Version gesetzt werden.
ANTWORT:
Einen „Verteiler“ gibt es nicht 😉
Das Skript dient als Anregung, selbst kreativ zu werden.
FRAGE:
Ist es auch möglich, die E-Mail Adresse in den Filename einzufügen?
z.B.
„xxxx@xxxx.de ___2019-01-27___15.12.39 – Betreff.eml“
ANTWORT:
Klar, aber – macht das Sinn? Gerade bei Mails an mehrere Empfänger wird das problematisch (welche Adresse soll herangezogen werden?). Außerdem wird der Dateiname ziemlich lang, was in Unterverzeichnisstrukturen bei der Ablage dann zu Problemen führen kann.
Ich empfehle stattdessen, mit Unterverzeichnissen für die wichtigsten regelmäßigen Partner zu arbeiten und die Dateinamen eher kürzer zu halten. So mache ich es selbst und bei Kunden seit Jahren zur vollsten Zufriedenheit…
FRAGE:
Und es wäre super, wenn ich unterscheiden könnte, ob ich die Mail gesendet oder bekommen habe.
„xxxx@xxxx.de ___2019-01-27___15.12.39___von__ – Betreff.eml“
„xxxx@xxxx.de ___2019-01-27___15.12.45___an___ – Betreff.eml“
Obwohl ich dann ja auch einfach zwei Scripte nehmen kann. 😉
ANTWORT:
Auch möglich, aber gleiches Thema wie oben (Länge des Dateinamens / Pfades). Ist das Konzept des „intelligenten Postfaches“ in Apple Mail bekannt? Dies in Verbindung mit einer Ordnerstruktur im Dateisystem erscheint mir persönlich am sinnvollsten.
————————–
Vielen Dank
Mit freundlichen Grüßen
Frank
LikeLike
Update – das Skript lebt und wird laufend weiterentwickelt … und bei jeder Änderung hier den aktuellen Quellcode einzukopieren, ist mir zu umständlich.
Den aktuellen Stand gibt es gerne auf Anfrage 🙂
LikeLike