1 votos

¿Está almacenando en caché Yosemite Mail los archivos de firma? ¿Cómo puedo evitarlo?

He creado un pequeño script que busca una firma al azar 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 funcionaba bien. Ahora, en Yosemite (10.10), la firma ya no se actualiza. Si entro en Preferencias -> Firmas y arrastro/suelto la firma de la lista "Todas" a mi cuenta de correo, se actualizará de nuevo. También se actualiza cuando reinicio Mail. Parece que Mail está almacenando en caché el contenido del archivo de firma y sólo lo actualiza cuando se "activa" de alguna manera.

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

¿Alguien sabe algo sobre esta caché y/o cómo puedo hacer que Mail actualice la firma con mi script o algún otro truco? Ni siquiera sé por dónde empezar a buscar este tipo de cosas.

0voto

Steve Puntos 16

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

Esto tiene varias partes - un AppleScript que compilas en una Aplicación, un archivo de texto que contiene tus comillas aleatorias, dos firmas en Mail.app (una es una plantilla, la otra es la firma real para tus mensajes), y el servicio 'cron' del sistema. (Lo ideal sería 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 puedes deducir del AppleScript):

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

  • El archivo de texto que contiene mis comillas se llama ".sigs.in" (para que no aparezca en Finder Windows) y todas las comillas están separadas por una línea que sólo contiene "~###~". Este archivo se encuentra en mi directorio personal.

  • Mi entrada en crontab consiste en de

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

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

Lo he probado y funciona de maravilla. Cada minuto, cron inicia mi script compilado que actualiza la firma.

El único "inconveniente" es que si no te gusta la cita tienes que esperar un minuto a que el script refresque la firma y luego volver a seleccionar la firma en el selector desplegable de la ventana de composición del mensaje. (Tengo dos firmas - una estática, la otra la salida de mi script - para evitar esto).

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