0 votos

Ampliar el envío de correo electrónico con Applescript

He leído con interés el artículo sobre el envío de un correo electrónico basado en el análisis de un archivo csv para recoger el nombre y la dirección de correo electrónico. Esto se parece a la mayor parte de lo que necesito para lograr mi objetivo con la excepción de que me gustaría que el script se ejecutara una vez al día y enviara el correo electrónico un día antes de una fecha almacenada en el archivo csv. Esto es para recordar a alguien que tiene que realizar una determinada tarea al día siguiente. Los correos electrónicos se enviarán utilizando Apple Mail como MTA a través de mi cuenta de gmail.

El csv contendrá lo siguiente:

nombre, apellido, fecha de la acción

El script tendría que recoger el nombre y la fecha del archivo csv. He codificado el texto del correo electrónico en el script como se muestra en el ejemplo anterior.

Pseudocódigo:

  1. script se ejecuta justo después de la medianoche todos los días analizando el csv para determinar quién debe recibir el correo electrónico en qué fecha.
  2. Para los nombres seleccionados, cree y envíe un correo electrónico el día anterior a la acción requerida.
  3. Como ventaja, el script podría reenviar el recordatorio en la fecha de vencimiento, así como cualquier nuevo recordatorio para el día siguiente.

Supongo que podría restar un día manualmente en mi csv para facilitar la codificación.

Estoy empezando con Applescript, y no sé cómo modificar el script existente para lograr este objetivo.

1voto

Prueba algo así:

set csv to "name@example.com,7/14
name2@example.com,7/15"
--set csv to read "/Users/username/Documents/file.csv" as «class utf8»

set text item delimiters to ","
set y to year of (current date)
repeat with l in paragraphs of csv
    set d to (date (text item 2 of l & "/" & y))
    if date string of (current date) is date string of (d - 1 * days) then
        tell application "Mail"
            tell (make new outgoing message)
                set subject to "subject"
                set content to "content"
                make new to recipient at end of to recipients with properties {address:text item 1 of l}
                send
            end tell
        end tell
    end if
end repeat

Puedes ejecutar el script todos los días después de medianoche (si el ordenador está despierto) ejecutando EDITOR=nano crontab -e y añadir una línea como 1 0 * * * osascript ~/Scripts/some\ script.scpt .

Los formatos de fecha reconocidos dependen de la configuración seleccionada en las Preferencias del Sistema. No sé cómo obtener una dirección de correo electrónico para un nombre y un apellido.

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