Action AppleScript sur AppleMail


0

Trouvé un script pour créer une distribution en masse de courrier électronique:

    on run {input, parameters}

        set addresses to "aa@example.com
        bb@example.com"
        set names to "Ann
Bob"
        set title to "title"
        set theAttachmentFile to "SSD:Users:me:file.pdf"
        set body1 to "Hello "
        set body2 to ",

This is a test message"

        repeat with a in paragraphs of addresses
            tell application "Mail"
                activate
                tell (make new outgoing message)
                    set visible to true
                    make new recipient at end of to recipients with properties {address:a}
                    set subject to title
                    -- set salutation to ???
                    set body to body1 & salutation & body2

                    set content to body
                    --save
                    --send
                end tell
            end tell
        end repeat

        return input
    end run

Ajouter une pièce jointe comme conseillé par l'utilisateur3439894 avec:

tell content to make new attachment with properties {file name:theAttachmentFile as alias} at after last paragraph

Comment ajouter un nom au corps de chaque destinataire (marqué d'un ???)?


Pour le moment je ne suis pas où je peux tester cela, d’où le commentaire et ne pas poster de réponse cependant, directement set content to body, sur la ligne suivante, essayez d’utiliser: tell content to make new attachment with properties {file name:theAttachmentFile as alias} at after last paragraph
user3439894

Merci utilisateur3439894. Votre proposition est d’ajouter avant la création effective des e-mails et ils n’existent pas à ce moment-là. Essayé votre code, ne fonctionne pas - Variable content is not defined.
Pavel

Déplacé votre code après save, tout fonctionne, mais je reçois une erreur File /Users/me/file.pdf wasn’t found Devrais-je le convertir en Macintosh HDD:Users:me:file.pdf?
Pavel

Et la réponse est OUI - utilisez un chemin délimité par des points-virgules! Résolu
Pavel

Pourquoi vous mettez addresses et names à paragraphs of ... au lieu d'utiliser un list objet , par exemple. set addresses to {"aa@example.com", "bb@example.com"} et set names to {"Ann", "Bob"}, en supposant que les listes ont le même compte et dans le bon ordre correspondant ... de cette façon, vous pouvez indexer les deux listes de manière à ce que c’est-à-dire item i of names Correspond à item i of addresses par exemple. repeat with i from 1 to (count addresses) puis {address:a} devient {address:item i of addresses} et -- set salutation to ??? devient: set salutation to item i of names
user3439894
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.