Как я могу использовать скрипт Apple, чтобы пройти через мой почтовый ящик Apple и посмотреть, существуют ли там адреса - PullRequest
0 голосов
/ 20 февраля 2020

Я очень новичок в сценариях Apple, и, честно говоря, я не слишком программист. Я хочу сделать что-то очень похожее на это: Как я могу определить, существует ли контакт с данным адресом электронной почты в адресной книге? За исключением того, что я хочу просмотреть все свои электронные письма и выполнить поиск для конкретных c адресов (у меня есть список тысяч в формате csv / excel / numbers), чтобы увидеть, существует ли какая-либо связь по электронной почте. Я выяснил, как выполнить мой список и поиск, но не уверен, как вернуть, существует ли почта. Я часто пишу людям по электронной почте рекламные материалы и предпочитаю этого не делать. Вот мой базовый c поисковый скрипт, который извлекает из чисел, просто нужно выяснить, как спросить почтовое приложение, существует ли почтовый элемент после выполнения каждого поиска по электронной почте через него.

set {eAddress} to getData()

repeat with i from 1 to 4
    activate application "Mail"

    tell application "System Events"

        tell process "Mail"

            tell window 1

                keystroke "f" using {command down, option down}

                keystroke {item i of eAddress} as string

            end tell

        end tell
    end tell
end repeat

on getData()
    set colA to {}
    tell application "Numbers"

        activate
        tell table 1 of sheet 1 of document 1
            #set lastRow to 4
            set lastRow to row count
            #first row index of (get end (last cell of column 1) direction toward the top)

            repeat with i from 2 to lastRow
                set end of colA to (value of cell i of column "A")
            end repeat
        end tell
    end tell

    return {colA}
end getData

1 Ответ

1 голос
/ 20 февраля 2020

Я не уверен, что это ответит на ваш вопрос на 100%, но если вы просто хотите узнать, есть ли у вас сообщения с определенного адреса, вы можете сделать что-то вроде этого:

set eAddresses to getData()

tell application "Mail"
    repeat with thisAddress in eAddresses
        if ((count of (messages of inbox whose sender contains thisAddress)) > 0) then
            -- there are messages from this address, so do something
        else
            -- there are no messages from this address, so do something else 
        end if
    end repeat
end tell

on getData()
    set colA to {}
    tell application "Numbers"

        activate
        tell table 1 of sheet 1 of document 1
            #set lastRow to 4
            set lastRow to row count
            #first row index of (get end (last cell of column 1) direction toward the top)

            repeat with i from 2 to lastRow
                set end of colA to (value of cell i of column "A")
            end repeat
        end tell
    end tell

    return colA
end getData

Команда whose в четвертой строке - (count of (messages of inbox whose...)) - просит Mail выполнить внутренний поиск сообщений от этого отправителя, что более эффективно, чем попытка l oop самостоятельно просмотреть сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...