2015-03-31 80 views
0

我試圖獲取位於最新Mac Mail.app(OS X 10.10.2)中的一堆電子郵件中的任何鏈接的文本文檔列表優勝美地),並且簡直難倒了。從電子郵件中提取URL的Mac Automator/Applescript(?)

我想我可以只...

  1. 在服務/工作流將一對夫婦Automator.app行動起來,郵件內
  2. 選擇/高亮所有的電子郵件.app,
  3. 選擇該服務或運行該工作流程,
  4. 並有一個文本文檔,其中包含可在其中找到的每個URL /鏈接。

但是,這並沒有奏效。

我想出瞭如何與一個電子郵件一次這樣做,但這不是我想要的。附上3個工作流程的屏幕截圖。第一個是僅使用一個電子郵件&的作品,突出顯示運行服務的所有文本&。另外兩個只是不起作用。

我還注意到,第一個顯示在服務菜單中,打開一封電子郵件;一旦我突出顯示多個電子郵件消息,該選項就會離開服務菜單。

任何提示或技巧?

screenshot

回答

5

我想通了,你怎麼能達到自己的目標,用內的Automator創建一個新的服務(輸入:「無輸入」,應用「郵件」)開始

的第一個動作是獲得所選郵件消息(GET選擇:消息)

第二個動作是Exceute的AppleScript與下面的腳本:

on run {input, parameters} 
    set mailContentList to {} 
    tell application "Mail" 
     repeat with selectedMail in input 
      set end of mailContentList to content of selectedMail 
     end repeat 
    end tell 
    return mailContentList 
end run 

這個腳本只是通過給定的消息散步,讀出的內容,並將此列表中的下一個動作

第三個動作是從文本

提取URL和最終的行動新的TextEdit文檔

保存它與一個好聽的名字一樣提取URL從選定郵件 之後服務在郵件應用程序內的服務菜單中可用。

在我的測試中,我發現了一些沒有http://的鏈接到錨點的內部URL,所以也許你想刪除所有不以http開頭的URL。您可以通過使用其他操作之前完成創建新的TextEdit文檔:
過濾段與選項「與http開頭段」(不知道這些參數是如何在英文名爲Automator的,抱歉)

手感好,邁克爾/漢堡

+0

SWEEEET!非常感謝你 - 完美地工作!!!!!非常感激。 – SyberKnight 2015-04-02 18:46:54

+0

可以確認它的效果很好!如[在此](https://stackoverflow.com/a/37591276/319860)所述,如果要從電子郵件的HTML正文(而不是可見文本)中提取鏈接,請使用'selectedMail源代替'body '。 – 2017-06-18 15:10:19

+0

要過濾重複的URL,添加一個額外的步驟「運行AppleScript」到工作流:其中i從 '(*地帶重複*) 上運行{輸入,參數} \t組filteredList到{} \t \t重複1計數輸入的項目的 \t \t如果項目i輸入的是不是在filteredList然後 \t \t \t組filteredList到filteredList&項目i輸入的 \t \t端如果 \t端重複 \t return filteredList end run' (adapted from [here](https://groups.google.com/d/msg/alt.comp.lang.applescript/xjN6WTs30Jo/RRjmhALokpQJ)) – 2017-06-18 15:37:10

相關問題