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 ???)?
Variable content is not defined.
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
?
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
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