2012-05-15 32 views
1

我試圖設置一個系統,人們可以通過電子郵件發送到某個地址,以便將其電話號碼添加到數據庫中。我希望能使用Automator來完成很多工作。到目前爲止,這是我作爲一個工作流程:在Automator中從選定的電子郵件中提取電話號碼

1. Get New Mail For: DEMO 
2. Find Mail Messages where All of the following are true: Entire Message contains BEACH 
3. Get Selected Mail Messages 
4. Extract Phone Numbers From Text 
5. New Text Edit Document 

這工作,除提取電話號碼從文本不要介意DB的東西還沒有 - 這是另一個「不與所需的數據提供的。」問題 - ,如何從Automator中的電子郵件主題和發件人中提取電話號碼?我顯然在某個地方做錯了什麼。

回答

3

你不能從中提取郵件的文本數據,因爲你實際上並沒有經過文本的提取物動作 - 你逝去的郵件對象。如果你要處理的發送者和消息的主題,你將不得不插入一個「運行AppleScript」行動與「從文本中提取數據」動作之前,以下內容:

using terms from application "Mail" 
    on run {input, parameters} 
     set mailContents to {} 
     repeat with aMessage in input 
      set end of mailContents to subject of aMessage 
      set end of mailContents to sender of aMessage 
     end repeat 
     return mailContents 
    end run 
end using terms from 

- 這將遍歷所有郵件消息對象並將它們的發件人主題屬性附加到傳遞給「提取」操作的列表。

對您的工作流程的幾個注意事項

  • 不需要你「獲得所選郵件消息」動作「查找郵件項目」行動後 - 已經返回郵件列表(你需要它會返回來自帳戶或郵箱的所有郵件,但您已經過濾到郵件級別)。
  • 您可能希望篩選查找郵件的位置,因爲「查找」操作在大型郵件數據庫上需要很長時間。如果您首先查找郵件帳戶,或者更好,郵箱(例如「收件箱」),則可以插入「篩選郵件項目」操作以僅返回符合您搜索條件的郵件(您可以將其擴展爲如果您只想查看幾個郵件帳戶之一的收件箱中的級聯:查找帳戶,在收件箱上過濾,然後過濾郵件標準)。
相關問題