2008-12-23 24 views
5

Tôi đang viết một bản tóm tắt nhỏ để truy xuất tất cả các tin nhắn "chưa đọc" trong trình xem và lặp lại chúng.Làm thế nào để mở một email bằng cách sử dụng applescript?

Tôi có hai mục tiêu để hoàn thành:

  1. tôi cần phải nhận được chủ đề của mỗi tin nhắn và thực hiện một biểu thức chính quy để xem nếu nó là thích hợp cho bước 2 (ví dụ:. Có được email với chủ đề {* })

  2. tôi cần phải mở từng thư trên một cửa sổ riêng biệt và sau 4 giây, tôi cần phải đóng cửa sổ đó và điền đầy đủ thông điệp tiếp theo

bạn có biết làm thế nào để làm điều này?

Xin cảm ơn trước.

Trả lời

2

Bản sau đây có tác dụng đối với tôi, nhưng tôi không chắc chắn cách thực hiện đối sánh regex. Bạn có thể sử dụng hàm unix 'grep' với lệnh 'do shell script' của applescript, nhưng tôi không có chuyên gia về cách sử dụng grep đúng cách. Tôi sẽ để nó cho người khác trả lời.


on run 
    tell application "Mail" 
     set myInbox to mailbox "INBOX" of account 1 
     set myMessages to every message of myInbox 

     repeat with theMessage in myMessages 
      if read status of theMessage is false then 

       if my subjectIsInteresting(subject of theMessage) then 
        open theMessage 
        delay 4 
        close window 1 
       end if 

      end if 
     end repeat 

    end tell 
end run 

on subjectIsInteresting(subject) 

    -- do some regex magic here 

    return true -- for now 

end subjectIsInteresting 
1

Đối với regexes - Nếu bạn đang chạy các kịch bản trên máy tính riêng của bạn, hoặc có thể phân phối kèm, bạn có thể sử dụng phần mở rộng Nụ cười Satimage của (http://www.satimage.fr/software/en/downloads/index.html) cho phép thêm regexes để AppleScript.

1

Tôi biết bạn đã có câu trả lời nhưng bạn đã nhìn vào Automator chưa? Đối với hầu hết các tập lệnh chuẩn như thế này, nó có thể ít gây đau đớn nếu bạn không quen thuộc với AppleScript. Nó không phải là rất 'programmy' nhưng nó nhanh chóng và bạn sẽ dành ít thời gian gỡ lỗi.

Các vấn đề liên quan