Je essaie de substituer une adresse électronique par un caractère symbolique dans un bloc de texte.
Le bloc de texte :
Cher %%FirstName%%-
...
Ce message a été envoyé à %%EmailAddress%%.
Le script :
...
set theBody to my replace(theBody, "%%FirstName%%", "First")
set theBody to my replace(theBody, "%%EmailAddress%%", "first.last@company.com")
...
Procédure de remplacement (AppleScript: Sous-routines essentielles) :
on replace(this_text, search_string, replacement_string)
set AppleScript's text item delimiters to the search_string
set the item_list to every text item of this_text
set AppleScript's text item delimiters to the replacement_string
set this_text to the item_list as string
set AppleScript's text item delimiters to ""
return this_text
end replace
Le résultat :
Cher First-
...
Ce message a été envoyé à .
Si je change le script à :
...
set theBody to my replace(theBody, "%%FirstName%%", "First")
set theBody to my replace(theBody, "%%EmailAddress%%", "first.lastATcompany.com")
Le résultat :
Cher First-
...
Ce message a été envoyé à first.lastATcompany.com.
Quel est le problème avec la procédure de remplacement?
** éditer **
Je collecte une liste distincte d'adresses électroniques à partir d'un contact Outlook :
...
set theAddresses to email addresses of theContact
set addressList to {}
repeat with theAddress in theAddresses
if addressList does not contain (address of theAddress) then
set addressList to addressList & (address of theAddress)
end if
end repeat
...
Ensuite, en utilisant la liste :
...
repeat with theAddress in addressList
...
make new recipient at newMessage with properties {email address:{name:displayName of theContact, address:theAddress}}
...
end repeat
...