기존 메일 규칙을 업데이트하는 Applescript


3

맥 OS 시에라.

이것은 새로운 스크립트를 생성 하는 다음 스크립트를 기반으로 가능할 것 같습니다 .

tell application "Mail"
    set newRule to make new rule at end of rules with properties { ... }
    tell newRule
        make new rule condition at end of rule conditions with properties { ... }
    end tell
end tell

내가 할 수있는 일은 다음과 같습니다.

tell application "Mail"
    set existingRule to (* get a specific rule already in Mail Preferences *)
    tell existingRule
        make new rule condition at end of rule conditions with properties {rule type:message content, qualifier:does contain value, expression:"woohoo"}
    end tell
end tell

내가 찾을 수없는 것은 이미 저장된 규칙 을 검색 하는 방법 입니다.


새 이메일을 자동으로 확인하는 스크립트를 작성하려고합니까?
music2myear

@ music2myear : 아. 스크립트로 기존 규칙을 업데이트하는 방법을 알아 내려고했습니다. 아래의 대답은 정확합니다. 그러나 찾아서 알아낼 수있는 회로적인 길을 매우 오래 걸렸습니다.
Josh Bruce

1
시원한. 당신이 그것을 알아 내고 여기에 문서화 할 수있어서 기쁩니다.
music2myear

답변:


3

이 예에서는 이메일 발신자를 확보 한 다음 이메일이 목록에있는 경우 동일한 조치를 수행하는 이메일 규칙에 추가하려고합니다.

tell application "Mail"
    (* The nameOfJunkRule is the string you gave in Mail.app. *)
    (* This is the part that begins to address the question. *)
    set markAsJunkRule to get rule nameOfJunkRule

    (* Get the selected messages in Mail.app *)
    set theMessages to the selection

    repeat with theMessage in theMessages
        (* Get the sender of the message. *)
        set senderAddress to sender of theMessage

        (* We want to make sure the address isn't already in the list. *)
        set foundAddress to false
        repeat with theCondition in rule conditions of markAsJunkRule
            if senderAddress = expression of theCondition then
                set foundAddress to true
                exit repeat
            end if
        end repeat

        (* If we need to add a new address to the rule. This is to finish the answer. *)
        if foundAddress = false then
            tell markAsJunkRule
                make new rule condition at end of rule conditions with properties {rule type:from header, qualifier:does contain value, expression:senderAddress}
            end tell
        end if
    end repeat
end tell
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.