2008-12-23 17 views
5

Görüntüleyicide tüm "okunmamış" iletileri alan ve bunları çevreleyen küçük bir elyazısı yazıyorum. Ben her iletinin konusunu almak ve 2. adımda uygun olup olmadığını görmek için normal bir ifade gerçekleştirmek için gerekenapplescript kullanarak bir e-posta mesajı nasıl açılır?

  1. (örn::

    ben tamamlamak için iki hedefleri var. Konuyla {e-postalar almak * })

    Ben ayrı pencerede her mesajı açın ve 4 saniye sonra, bir sonraki mesajla o pencereyi kapatın ve devam etmek gerekir gereken

biliyor musunuz bunlar nasıl yapılır?

Şimdiden teşekkürler.

cevap

2

Aşağıdaki el yazması benim için çalışır, ancak regex eşleşmesini nasıl yapacağımı bilmiyorum. Unix 'grep' işlevini applescript'in 'do shell script' komutunu kullanarak kullanabilirsiniz, ancak grep'in nasıl düzgün şekilde kullanılacağına dair uzman değilim. Birinin cevaplaması için onu bırakacağım.

regexes için

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

Zaten cevabınızı aldığını biliyorum, ancak Automator'a baktınız mı? Bunun gibi çoğu standart komut dosyası için, AppleScript ile çok aşina değilseniz daha az ağrılı olabilir. Çok 'programlı' değil ama hızlı ve hata ayıklama için daha az zaman harcıyorsunuz.