¿El correo de Yosemite guarda archivos de firmas? ¿Cómo puedo evitar eso?

1

Creé un pequeño script que busca una firma aleatoria de una lista cada vez mayor de citas que tengo y modifica el HTML de mi archivo de firma para insertar la cita en su lugar. Activo este script a través de launchd cada pocos minutos para que mi firma sea "aleatoria" a lo largo del día.

Hasta Mavericks, esto funcionó bien. Ahora, en Yosemite (10.10), la firma ya no se actualiza. Si entro en Prefs - > Firmas y arrastre / suelte la firma de la lista 'Todos' en mi cuenta de correo nuevamente, esto activará la actualización. También se actualiza cuando reinicio el correo. Parece que Mail ahora está almacenando en caché el contenido del archivo de firma y solo lo actualiza cuando se "activa" de alguna manera.

Sé que ahora hay dos copias posibles del archivo de firma, una local y una versión de iCloud. He actualizado mi script para asegurarme de que ambos estén usando la firma actualizada. Si reinicio el correo o hago el truco de preferencias, muestra la cotización actualizada en la firma, así que sé que mi script se está ejecutando correctamente.

¿Alguien sabe algo sobre este caché y / o cómo puedo activar Mail para actualizar la firma con mi script o algún otro truco? Ni siquiera estoy seguro de por dónde empezar a buscar este tipo de cosas.

    
pregunta James Alday 31.10.2014 - 17:03

1 respuesta

0

Tuve el mismo problema que tú. Investigué un poco y encontré una solución que solía funcionar en el OSX 10.8 días y dejé de trabajar con OSX 10.9. Curiosamente, vuelve a funcionar con OSX 10.10.1 y Mail 8.1 (1993).

Hay varias partes en esto: un AppleScript que compilas en una Aplicación, un archivo de texto que contiene tus citas aleatorias, dos firmas en Mail.app (una es una plantilla, la otra es la firma real para tus mensajes), y el servicio del sistema 'cron'. (Idealmente, deberías usar launchd, pero aún no he llegado tan lejos).

El AppleScript:

if application "Mail" is running then
    set AppleScript's text item delimiters to "~###~"
    set myQuote to some text item of (read "/Users/Steve/.sigs.in")
    tell application "Mail"
       set the content of signature "MySignature" to the content of signature "MyTemplate" & myQuote
    end tell
end if

En mi implementación (que puede deducir del AppleScript):

  • Mis dos firmas de Mail.app se llaman "MyTemplate" y "MySignature". "MyTemplate" contiene todo lo que es estático, cosas como mi correo electrónico Dirección, etc. "MySignature" es la que uso con mis mensajes.

  • El archivo de texto que contiene mis citas se llama ".sigs.in" (para que no aparezca en las ventanas del Finder) y todas las citas son separados por una línea que contiene solo "~ ### ~". Este archivo se encuentra en mi directorio personal.

  • Mi entrada crontab consiste de

    * * * * * /Users/Steve/bin/MailRandomSig.app/Contents/MacOS/applet 

El AppleScript compilado vive en / Users / Steve / bin (obviamente suficiente), y la parte del "applet" es el binario compilado real que queremos ejecutar.

He probado esto y funciona muy bien. Cada minuto, cron inicia mi script compilado que actualiza la firma.

El único "inconveniente" es que si no le gusta la cotización, tiene que esperar un minuto para que el script actualice la firma y luego vuelva a seleccionar la firma del selector desplegable en la ventana de composición del mensaje. (Tengo dos firmas, una estática y otra la salida de mi script) para solucionar esto.

    
respondido por el Steve 26.11.2014 - 08:54

Lea otras preguntas en las etiquetas