0 votes

Développer l'envoi d'e-mails avec Applescript

J'ai lu avec intérêt l'article concernant l'envoi d'un e-mail basé sur l'analyse d'un fichier csv pour récupérer le nom et l'adresse e-mail. Cela ressemble à la plupart de ce dont j'ai besoin pour atteindre mon objectif, à l'exception du fait que je voudrais que le script s'exécute une fois par jour et envoie l'email un jour avant une date stockée dans le fichier csv. Ceci afin de rappeler à quelqu'un qu'il doit effectuer une certaine tâche le jour suivant. Les courriels seront envoyés en utilisant Apple Mail comme MTA via mon compte gmail.

Le csv contiendra les éléments suivants :

prénom, nom, date d'action

Le script devrait récupérer le prénom et la date dans le fichier csv. J'ai codé le texte de l'email dans le script comme indiqué dans l'exemple précédent.

Pseudocode :

  1. script s'exécute juste après minuit chaque jour en analysant le csv pour déterminer qui doit recevoir l'email à quelle date.
  2. Pour les noms sélectionnés, créez et envoyez un courriel la veille de l'action requise.
  3. En prime, le script pourrait renvoyer le rappel à la date d'échéance ainsi que tout nouveau rappel pour le jour suivant.

Je suppose que je pourrais soustraire manuellement un jour dans mon csv pour faciliter le codage.

Je commence tout juste à utiliser Applescript et je ne sais pas comment modifier le script existant pour atteindre cet objectif.

1voto

Essayez quelque chose comme ça :

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

Vous pouvez exécuter le script chaque jour après minuit (si l'ordinateur est éveillé) en exécutant EDITOR=nano crontab -e et ajouter une ligne comme 1 0 * * * osascript ~/Scripts/some\ script.scpt .

Les formats de date reconnus dépendent des paramètres sélectionnés dans les Préférences Système. Je ne sais pas comment obtenir une adresse électronique pour un prénom et un nom de famille.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X