Comment envoyer des invitations iCal vers Outlook
Lors de l'envoi d'invitations avec le programme iCal d'Apple, le destinataire reçoit un e-mail avec un fichier .ics joint qui permet au destinataire d'ajouter l'événement à son calendrier et d'accepter ou de refuser l'invitation. Lors de l'envoi de ces invitations à un utilisateur Outlook, la fonctionnalité se perd dans la traduction et n'est pas correctement formatée ou accessible avec Microsoft Outlook. Modifier la façon dont iCal envoie les invitations, bien que fastidieux, aide à améliorer l'interaction Mac et PC.
Étape 1
Ouvrez le dossier Applications. Accédez à l'application iCal. Faites un clic droit (Control-clic) sur l'icône iCal et sélectionnez « Afficher le contenu du paquet ».
Étape 2
Naviguez dans le contenu d'iCal jusqu'à « Resources » (Ressources). À l'intérieur du dossier « Resources », localisez « Mail.applescript ».
Étape 3
Surlignez « Mail.applescript ». Dans la barre de menus, sélectionnez « Édition » > « Copier ». Sur le Bureau, collez (« Édition » > « Coller ») le fichier en tant que sauvegarde. Retournez à l'original « Mail.applescript ».
Étape 4
Faites un clic droit sur le fichier et sélectionnez « Ouvrir avec AppleScript ». L'éditeur AppleScript s'ouvrira.
Étape 5
Naviguez à peu près au milieu du script jusqu'au titre « on send_mail_sbrp(subjectLine, messageText, myrecipient, invitationPath ». Surlignez toute la section commençant par ce titre et se terminant par « end send_mail_sbrp » et appuyez sur « Suppr ». (Ne vous inquiétez pas, vous avez fait une sauvegarde à l'étape 3).
Étape 6
Surlignez, copiez et collez l'entrée entière suivante dans AppleScript à la place de l'entrée que vous avez supprimée à l'étape 5 :
on send_mail_sbrp(subjectLine, messageText, myrecipient, invitationPath)
set pfile to POSIX file invitationPath
set myfile to pfile as alias
try -- define a carriage return
set cr to (ASCII character 13) & (ASCII character 10)
-- retrieve the user's name and e-mail
set listOfAccounts to {}
tell application "Mail"
repeat with oneAccount in every account
set listOfAccounts to listOfAccounts & ¬ {"\"" & (get full name in oneAccount) & "\" <" & ¬ (get email addresses in oneAccount) & ">"}
end repeat
end tell
if ((get length of listOfAccounts) is 1) then
set theAccountTouse to get first item of listOfAccounts
else
set theAccountTouse to ¬
choose from list listOfAccounts ¬
default items (get first item of listOfAccounts) ¬
with prompt ¬
"Please select which mail account to send the invitation from:" ¬
without multiple selections allowed and empty selection allowed
end if
-- open and read the iCal event file to insert into an e-mail
set myEventFileHandle to ¬
open for access myfile without write permission
set myEventFileContent to read myEventFileHandle
close myEventFileHandle
-- pre-pend mail headers to the event contents
set myNewEmailText to ¬
"Subject: " & subjectLine & cr & ¬
"From: " & theAccountTouse & cr & ¬
"To: " & myrecipient & cr & ¬
"content-class: urn:content-classes:calendarmessage" & cr & ¬
"Content-Type: text/calendar;" & cr & ¬
" method=REQUEST;" & cr & ¬
" name=\"meeting.ics\"" & cr & ¬
"Content-Transfer-Encoding: 8bit" & cr & cr & ¬
myEventFileContent
-- create a random event file name
set tempMailName to (random number from 1 to 1000000) & ".ics"
set aliasTempMail to "/tmp/" & tempMailName
-- write the new e-mail to a temp file
set myEventFileHandle to ¬
open for access (POSIX file aliasTempMail as string) with write permission
write myNewEmailText starting at 1 to myEventFileHandle
close myEventFileHandle
-- use SENDMAIL to send the file with proper headers
do shell script "sendmail < " & aliasTempMail
-- delete the temp file
do shell script "rm " & aliasTempMail
on error errMsg
display dialog errMsg
end try
end send_mail_sbrp
Étape 7
Sélectionnez « Compiler » dans la barre d'outils de navigation. Sélectionnez « Enregistrer » et quittez AppleScript.
Étape 8
Envoyez une invitation iCal. L'utilisateur Windows avec Microsoft Outlook recevra maintenant correctement vos invitations iCal.
Avertissement
Soyez extrêmement prudent lors de l'édition de l'AppleScript. Si vous avez fait une erreur, remplacez le fichier « mail.applescript » dans le dossier Resources d'iCal par celui que vous avez sauvegardé sur votre bureau, et recommencez le processus depuis le début.
