AppleScript/Mail-Aufgaben automatisieren

Ich habe versucht, einem Kollegen dabei zu helfen, eine wöchentliche E-Mail-Zusammenstellung zu automatisieren, die er verschickt, konnte aber noch nicht herausfinden, wie ich einige bestimmte Bereiche ansprechen soll ... zuerst erkläre ich die Situation, dann das Ziel.

Lage:Der Projektmanager bei der Arbeit wurde beauftragt, jede Woche Informationen von mehreren bestimmten Mitarbeitern (Managern) darüber zu sammeln, woran ihre jeweiligen Teams gearbeitet haben (und welche Fortschritte erzielt wurden) und für die kommende Woche geplant haben (dieses ganze Unterfangen findet jede Woche statt). Dienstag). Also hat er sie alle gebeten, ein sehr einfaches Format zu verwenden (keine Begrüßung, keine Anrede, nichts als der eigentliche Inhalt, den sie melden müssen). Sobald jede dieser E-Mails Montagabend/Dienstagmorgen eintrifft, kopiert er den Text von jeder von ihnen manuell und fügt ihn dann einzeln in eine andere E-Mail ein, wodurch eine E-Mail mit dem gesamten Inhalt der anderen erstellt wird. Sobald er diese neue, allumfassende E-Mail hat, sendet er sie an seinen Vorgesetzten. (Fürs Protokoll, ich verstehe voll und ganz, dass es unzählige bessere Möglichkeiten gibt, dies zu tun, und dass es lächerlich ist ...

Ziel: Ich habe bereits Regeln eingerichtet, damit die spezifischen E-Mails in ein bestimmtes Feld verschoben werden (ich denke, dass dies das Identifizieren der richtigen Nachrichten für das Skript/die Automatisierung einfacher machen würde), und mein nächster Schritt war die Automatisierung der … Sortierung dieser Nachrichten und das Erstellen und Versenden der neuen Einzelnachricht an den Chef ... und das ist, wo die Dinge ins Stocken geraten sind.

Ich habe Skripte zum Kopieren, Skripte zum Einfügen und (auf einer älteren Version von OS x, vielleicht 10.6) sogar eine Aktion in Automator gefunden, die den Text ausgewählter Nachrichten (in Mail) in eine neue Nachricht kompiliert ... aber Leider läuft es einfach nicht auf moderneren Versionen des Betriebssystems (insbesondere 10.8 und 10.9).

Die Frage ist also: Ist es möglich, und wenn ja, wie, das Kopieren des Nachrichtentexts einer bestimmten Gruppe von E-Mails und das Einfügen des gesamten Textes in eine neue E-Mail zu automatisieren und sie entsprechend zu adressieren und zu versenden? Das Ziel ist, dass dieser Typ dienstagmorgens an seinem Computer sitzt, die fraglichen E-Mails auswählt (es sei denn, es gibt eine Möglichkeit, es zu skripten, damit die richtigen Nachrichten automatisch ausgewählt werden) und dann das Skript/den Dienst/die Anwendung auszuführen (über eine Tastenkombination oder ein Dock). Symbol, mit denen ich beide umgehen kann) und fertig damit?

Antworten (2)

Dies ist sicherlich mit AppleScript möglich. Hier sind einige Ressourcen und Ausschnitte, die Ihnen helfen, Ihr ideales Skript zu erstellen.

Das abschließende AppleScript fasst den Inhalt beliebig ausgewählter E-Mails zusammen und bereitet eine ausgehende E-Mail zum Versand vor. Sie können dieses AppleScript in einen Automator-Arbeitsablauf einbetten oder als Anwendung zum Doppelklicken speichern.

Abrufen des Inhalts ausgewählter Nachrichten

Von der Automatisierung von Spamcop :

set raw to {}
tell application "Mail"
    set msgs to selection
    if length of msgs is not 0 then
        repeat with msg in msgs
            set messageSource to source of msg
            set raw to raw & messageSource
            set background color of msg to gray     
        end repeat
    end if
end tell

E-Mail mit AppleScript versenden

Von E-Mail mit Applescript senden :

set recipientName to "WhiteHat"
set recipientAddress to "someemail@here.com"
set theSubject to "Type your subject here!"
set theContent to "Type your message content here!"

tell application "Mail"

        ##Create the message
        set theMessage to make new outgoing message with properties {subject:theSubject, content:theContent, visible:true}

        ##Set a recipient
        tell theMessage
                make new to recipient with properties {name:recipientName, address:recipientAddress}

                ##Send the Message
                send

        end tell
end tell

Kombinieren, erstellen und senden

Die Kombination der beiden obigen Schnipsel ergibt das folgende AppleScript:

set recipientName to "The Boss"
set recipientAddress to "boss@example.com"
set theSubject to "Type your subject here!"

set theCombinedContent to ""
tell application "Mail"
    set msgs to selection
    if length of msgs is not 0 then
        repeat with msg in msgs
            set theCombinedContent to theCombinedContent & (content of msg)
            -- set background color of msg to gray
        end repeat

        set theMessage to make new outgoing message with properties {subject:theSubject, content:theCombinedContent, visible:true}

        tell theMessage
            make new to recipient with properties {name:recipientName, address:recipientAddress}

            -- Uncomment line below to automatically send
            -- send

        end tell

    end if

end tell
tell application "Mail"

  set theSubject to "Subject" -- the subject
  set theContent to "Content" -- the content
  set theAddress to "xxx@163.com" -- the receiver 
  set theSignatureName to "signature_name"-- the signature name
  set theAttachmentFile to "Macintosh HD:Users:moligaloo:Downloads:attachment.pdf" -- the attachment path

  set msg to make new outgoing message with properties {subject: theSubject, content: theContent, visible:true}

  tell msg to make new to recipient at end of every to recipient with properties {address:theAddress}
  tell msg to make new attachment with properties {file name:theAttachmentFile as alias}

  set message signature of msg to signature theSignatureName

  send msg
end tell