4

特定の Web フォームが送信されたかどうかを確認するスクリプトを作成しています。

これまでのスクリプトは次のようになります。

tell application "Mail"
check for new mail
set newmail to get the unread count of inbox
repeat with msg in newmail
    if msg's subject contains "New newsletter built by" then
        return msg's subject
    end if
end repeat
end tell

スクリプトを処理するための未読メールが受信トレイにありましたが、それでもエラーが発生します。

error "Mail got an error: Can’t make 1 into type specifier." number -1700 from 1 to specifier

どんな助けでも大歓迎です。

乾杯!

4

4 に答える 4

3
tell application "Mail"
    check for new mail
    repeat until (background activity count) = 0
        delay 0.5 --wait until all new messages are in the box
    end repeat
    try
        return subject of (first message of inbox whose read status is false and subject contains "New newsletter built by ")
    end try
end tell
于 2012-06-06T02:05:41.507 に答える
1

Applescript は少しトリッキーです。実際の受信トレイではなく、受信トレイのを解析しようとしているようです。

代わりに次のスクリプトを試してください。

tell application "Mail"
    check for new mail
    -- instead of getting the unread count of inbox
    -- let's set an Applescript variable to every message of the inbox
    set myInbox to every message of inbox
    repeat with msg in myInbox
        -- and look at only the ones that are unread
        if read status of msg is false then
            -- and if the subject of the unread message is what we want 
            if msg's subject contains "New newsletter built by" then
                -- return it
                return msg's subject
            end if
        end if
    end repeat
end tell
于 2012-06-05T02:49:21.767 に答える
0

私は実際に問題を解決したので、他の誰かが助けを必要とする場合はここに投稿します。それを確認してください:

tell application "Mail"
check for new mail

set checker to (messages of inbox whose read status is false)
set neworder to number of items in checker

if neworder > 0 then
    repeat with i from 1 to number of items in checker
        set msg to item i of checker
        if msg's subject contains "New newsletter built by " then
            return msg's subject
        end if
    end repeat
end if
end tell
于 2012-06-06T00:16:46.260 に答える