How to Send iCal Invites to Outlook

Updated February 21, 2017

When sending invitations with Apple's iCal program, the recipient receives an e-mail with an attached .ics file that allows the recipient to add the event to their calendar and accept or decline the invitation. In sending out these invitations to an Outlook user, the functionality gets lost in translation and is not properly formatted or accessed with Microsoft Outlook. Editing the way iCal sends out the invitations, albeit a daunting task, helps to improve the Mac and PC interaction.

Open the Applications folder. Navigate to the iCal application. Right-click (Control-click) the iCal icon and select "Show Package Contents."

Navigate through iCal's contents to "Resources." Inside the "Resources" folder, locate "Mail.applescript."

Highlight "Mail.applescript." From the menu bar, select "Edit" > "Copy." On the Desktop, paste ("Edit" > "Paste") the file as a backup. Return to the original "Mail.applescript."

Right-click the file and select "Open with AppleScript." The AppleScript Editor will open.

Navigate about midway down the script to the heading "on send_mail_sbrp(subject Line, message Text, myrecipient, invitation Path." Highlight the entire section starting with that heading and ending with "end send_mail_sbrp" and press "Delete." (Don't worry, you made a back up in Step 3).

Highlight, copy and paste the entire following entry within AppleScript in place of the entry you deleted in Step 5:

on send_mail_sbrp(subject Line, message Text, myrecipient, invitation Path) set pfile to POSIX file invitation Path 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 one Account in every account set listOfAccounts to listOfAccounts & ¬ {"\"" & (get full name in one Account) & "\" <" & ¬ (get e-mail addresses in one Account) & ">"} 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: " & subject Line & 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: 8 bit" & 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 dialogue errMsg end try end send_mail_sbrp

Select "Compile" from the navigation toolbar. Select "Save" and exit AppleScript.

Send out an iCal invitation. The Windows user with Microsoft Outlook will properly receive your iCal invitations now.


Be extremely careful when editing the AppleScript. If you have made an error, replace the "mail.applescript" file in iCal's Resources folder with the one you saved to your desktop, and start the process over from the beginning.

Things You'll Need

  • Apple Mac OS X
  • iCal
  • Mail
Cite this Article A tool to create a citation to reference this article Cite this Article

About the Author

J.S. Copper began writing professionally in 2008, specializing in technology, running and health-related topics. He has worked with a handful of technology websites providing tutorials, tips and tricks. Prior to writing, Copper worked in Web design