Wie kopiere ich einen Link zu einer Mail.app-Nachricht ohne Drag & Drop?

8

Ich führe täglich ein Tagebuch und möchte Links zu E-Mail-Nachrichten haben. Mein E-Mail-Client ist Mail.app unter OSX. Ich kann Links zu meinem Journalprogramm (VoodooPad) ziehen und ablegen, aber ich würde es wirklich vorziehen, sie zu kopieren und einzufügen, sodass ich einen Link habe, der wie folgt aussieht: //%3C30533360.1931252053580.bla.bla.bla.

Gibt es eine einfache Möglichkeit, einen Link in diesem Format von Mail.app zu erhalten?

Lorin Hochstein
quelle

Antworten:

9

Basierend auf der Antwort von splattne und diesem Eintrag von macosxhints habe ich herausgefunden, wie es geht. Jetzt müssen Sie nur noch Quicksilver von FastScripts verwenden, um es an eine Tastenkombination zu binden.

tell application "Mail"
  set selectedMessages to selection
  set theMessage to item 1 of selectedMessages  
  set messageid to message id of theMessage
    -- Make URL (must use URL-encoded values for "<" and ">")
  set urlText to "message://" & "%3c" & messageid & "%3e"  
  set the clipboard to (urlText)     
end tell
Lorin Hochstein
quelle
1
Dies funktioniert auch in OS X Mavericks, wo die Drag & Drop-Funktion ein Hit & Miss zu sein scheint.
Rafael Bugajewski
1

Wenn ich Ihre Frage richtig interpretiere, können Sie eine Variation des AppleScript in diesen Blog-Posts verwenden:

splattne
quelle
Das bringt mich den größten Teil des Weges dorthin. Ich bin mir jedoch nicht sicher, wie ich "die aktuell ausgewählte E-Mail-Nachricht" in Applescript angeben soll.
Lorin Hochstein
0

Keine Antwort auf die Frage, die Sie bereits selbst beantwortet haben, sondern nur für die Archive:

Nachdem Sie eine Datei von einer Website oder einer E-Mail-Nachricht gespeichert haben, können Sie mithilfe von Get Info in Finder ermitteln, woher eine Datei stammt . Bei einem E-Mail-Anhang werden die Nachricht Absender, Betreff und die URL angezeigt, die auf diese Nachricht verweist.

Anstelle von "Informationen" können Sie auch die Befehlszeile verwenden, um die Informationen abzurufen:

mdls -name kMDItemWhereFroms <Dateiname>

Wenn Sie den openBefehl für eine solche URL verwenden, aktiviert OS X die Standardanwendung, genau wie TextEdit für eine Textdatei. Bei message:URLs wird Mail.app gestartet, um die Nachricht anzuzeigen (falls sie noch vorhanden ist).

Kombiniert mit etwas AppleScript aus den Kommentaren unter dem obigen Link:

on open these_items 
   set first_item to item 1 of these_items 
   set full_path to quoted form of POSIX path of first_item 

   set cmd to ¬ 
      "/usr/bin/mdls -name kMDItemWhereFroms " & ¬ 
      full_path & " | grep 'http:\\|https:\\|message:' | xargs open" 
   do shell script cmd 
end open

Fügen Sie das obige AppleScript in den Skript-Editor ein und speichern Sie es als Anwendung mit der Option Nur ausführen . Wenn Sie nun eine Datei auf diese Anwendung ziehen, wird die Quelle gegebenenfalls geöffnet. Ich bin sicherlich kein AppleScript-Experte, und das oben Genannte führt keine Fehlerbehandlung durch. Es wird einfach die erste Datei benötigt, wenn mehrere Dateien in die Anwendung eingefügt werden, und es werden keine Verzeichnisse unterstützt. Aber man kommt auf die Idee, denke ich.

(Die Schrägstriche in http:\\oben sind beabsichtigt und sollen nicht lesen //Das Skript sucht. http:, https:Oder mit message:anderen Worten:. Sie sind nicht dazu gedacht , ein Teil davon zu sein http://, aber zusammen einen entflohenen Backslash zu bilden, die Pipe-Zeichen in denen zu entkommen grepBefehl .)

Arjan
quelle