1 votos

Problemas con el Correo.aplicación de secuencias de comandos AppleScript

Estoy tratando de conseguir un sencillo AppleScript para ejecutar desde una regla en el Correo.aplicación en virtud de Catalina. El guión es muy básica:

use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions

using terms from application "Mail"
    on perform mail action with messages messageList in mailboxes mbox for rule aRule

        repeat with theMessage in theMessages
            set thisSender to (sender of theMessage as string)
            my WriteLog("Recieved email from " & thisSender)
        end repeat

    end perform mail action with messages
end using terms from

-- the code, from here on, has been tested and runs from Script Debugger or Script Editor
on write_to_file(this_data, target_file, append_data) -- (string, file path as string, boolean)
    try
        set the target_file to the target_file as text
        set the open_target_file to ¬
            open for access file target_file with write permission
        if append_data is false then ¬
            set eof of the open_target_file to 0
        write this_data to the open_target_file starting at eof as «class utf8»
        close access the open_target_file
        return true
    on error
        try
            close access file target_file
        end try
        return false
    end try
end write_to_file

on WriteLog(the_text)
    set this_file to (((path to desktop folder) as text) & "log.txt")
    my write_to_file(the_text, this_file, true)
end WriteLog

He añadido la siguiente regla de correspondencia.aplicación:

Mail.app rule dialog

También he activado el acceso a disco por Correo.aplicación:

enter image description here

Se ejecuta la regla - los mensajes se mueven a la presentación de la carpeta, pero el archivo de registro no se actualiza.

¿Qué más debo estar mirando para intentar solucionar este problema?


Actualización

Me di cuenta de un pequeño icono de engranaje que aparece en la barra de menú cuando la secuencia de comandos se ejecute. A través de algunas maniobras he conseguido haga clic en el icono, y capturar el menú resultante. Sospecho que esta es la automatización de algunas indicador ( posiblemente CoreCervices/ScriptMonitor ?)

ScriptMonitor menu item?

Por tanto, he intentado habilitar CoreCervices/ScriptMonitor en el FullDisk panel de Acceso de la Seguridad y Privacidad de la pestaña "Privacidad" ... no hay alegría.

Aparte de la tccutil reset, ¿alguien sabe si hay una manera de desencadenar una solicitud de Correo electrónico.aplicación para AppleEvent acceso de decir el Buscador, por lo que aparece una opción en la "Automatización" y la pestaña de Seguridad y Privacidad?

1voto

Mockman Puntos 16

El cambio 'messageList' a 'theMessages' y volver a intentarlo:

on perform mail action with messages theMessages in mailboxes mbox for rule theRule

Dos pequeños puntos en la WriteLog línea... tienes una errata en su 'Recibido el correo electrónico de'. También, puramente como una preferencia, me pareció más fácil notar los cambios en el archivo de registro cuando he añadido 'y el regreso' a tu log de texto, como en:

my WriteLog("Received email from " & thisSender & return)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X