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 "[email protected]
        [email protected]"
        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 ???)?

Pavel
la source
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 {"[email protected]", "[email protected]"} 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