Thread wurde vom System oder vom Community-Team geschlossen.

Mail - PDF-Export mit sinnvollem Dateinamen-Format

Ich nutze Apple Mail und möchte E-Mails die z. B. Rechnungen enthalten als PDF exportieren und in einer Dokumentenstruktur ablegen die ich mit meiner Frau zusammen nutze. Über die Apple Mail Funktion


"Mail" > "Ablage" > "Als PDF exportieren"


funktioniert der eigentliche Export recht gut, es wird jedoch als Dateiname immer nur die Betreffzeile verwendet.


<Betreff>.pdf


Dieses Namensformat ist jedoch aus meiner Sicht nicht aussagefähig und häufig nicht einmal eindeutig. Ich suche einen Weg wie ich sinnvolle Namen für die PDF-Exporte generieren lassen kann. Mein Wunschaufbau des Namensformates wäre z. B. der folgende


JJJJ-MM-TT <Absendername> - <Betreff>.pdf


Hat jemand eine Lösung, wie dieses sinnvoll und automatisiert realisiert werden kann?

Gepostet am 07. Juni 2024 23:03

Antworten
Frage gekennzeichnet als Höchstrangige Antwort

Gepostet am 08. Juni 2024 00:51

Du kannst mit der Erstellung eines Dienstes, welchen du in Apple Mail aufrufst deinen Wunsch erfüllen.



Nutze hierzu Automator / Apple Script:

Automator – Benutzerhandbuch für den Mac - Apple Support (DE)


Anbei ein Beispiel / Apple Script (ungetestet):

on run {input, parameters}
    set exportFolder to (path to desktop as text)
    
    tell application "Mail"
        repeat with eachMessage in input
            set messageDate to date sent of eachMessage
            set messageSender to sender of eachMessage
            set messageSubject to subject of eachMessage
            set formattedDate to my formatDate(messageDate)
            
            -- Erstellen des Dateinamens
            set fileName to formattedDate & " " & messageSender & " - " & messageSubject & ".pdf"
            set filePath to exportFolder & fileName
            
            -- Nachricht als PDF exportieren
            try
                save eachMessage in file filePath as PDF
                display notification "PDF saved successfully at " & filePath
            on error errMsg
                display alert "Error saving PDF: " & errMsg
            end try
        end repeat
    end tell
end run

on formatDate(aDate)
    set {year:y, month:m, day:d} to {year of aDate, month of aDate, day of aDate}
    set m to m as integer
    if m < 10 then set m to "0" & m
    if d < 10 then set d to "0" & d
    return y & "-" & m & "-" & d as string
end formatDate 


Skripteditor – Benutzerhandbuch für den Mac - Apple Support (DE)

Introduction to AppleScript Language Guide


Beste Grüße & viel Erfolg!

2 Antworten
Frage gekennzeichnet als Höchstrangige Antwort

08. Juni 2024 00:51 als Antwort auf Reklow

Du kannst mit der Erstellung eines Dienstes, welchen du in Apple Mail aufrufst deinen Wunsch erfüllen.



Nutze hierzu Automator / Apple Script:

Automator – Benutzerhandbuch für den Mac - Apple Support (DE)


Anbei ein Beispiel / Apple Script (ungetestet):

on run {input, parameters}
    set exportFolder to (path to desktop as text)
    
    tell application "Mail"
        repeat with eachMessage in input
            set messageDate to date sent of eachMessage
            set messageSender to sender of eachMessage
            set messageSubject to subject of eachMessage
            set formattedDate to my formatDate(messageDate)
            
            -- Erstellen des Dateinamens
            set fileName to formattedDate & " " & messageSender & " - " & messageSubject & ".pdf"
            set filePath to exportFolder & fileName
            
            -- Nachricht als PDF exportieren
            try
                save eachMessage in file filePath as PDF
                display notification "PDF saved successfully at " & filePath
            on error errMsg
                display alert "Error saving PDF: " & errMsg
            end try
        end repeat
    end tell
end run

on formatDate(aDate)
    set {year:y, month:m, day:d} to {year of aDate, month of aDate, day of aDate}
    set m to m as integer
    if m < 10 then set m to "0" & m
    if d < 10 then set d to "0" & d
    return y & "-" & m & "-" & d as string
end formatDate 


Skripteditor – Benutzerhandbuch für den Mac - Apple Support (DE)

Introduction to AppleScript Language Guide


Beste Grüße & viel Erfolg!

08. Juni 2024 08:12 als Antwort auf Reklow

Das beschriebene Vorgehen könnte zu überlangen Dateinamen führen - u.a. mit Sonderzeichen - die andernorts Probleme bereiten können, z.B. auf einem NAS.


Es werden hier ja wohl nicht hunderte von Mails archiviert. Also ist doch das einfachste, den Dateinamen möglichst einfach und kurz händisch zu editieren, was beim Sicherungsvorgang ohnehin angeboten wird.


Die in der Mail enthaltene Rechnung wird ohnehin beim Export der Mail nicht als Datei/pdf gesichert. Warum nicht einfach nur den Anhang sichern ?

Mail - PDF-Export mit sinnvollem Dateinamen-Format

Willkommen in der Apple Support Community
Ein Forum, in dem Apple-Kunden sich gegenseitig mit ihren Produkten helfen. Melde dich mit deinem Apple Account an, um Mitglied zu werden.