【问题标题】:Malfunction in AppleScript from eHow to improve iCal & Outlook compatabilityAppleScript 中的故障以及如何提高 iCal 和 Outlook 的兼容性
【发布时间】:2012-11-13 12:44:03
【问题描述】:

eHow 有一篇关于一些 Applescript 的文章,该文章假设可以在 Outlook 中正确设置 iCal 邀请格式,而不是发送 ICS 文件。

http://www.ehow.com/how_5887667_send-ical-invites-outlook.html

但是,当我按照说明进行操作时(减去 HTML 标记),在单击编译后,会出现以下关于 Tell Mail 命令的错误:

“语法错误:应为“,”或“}”,但找到了标识符”

整个脚本都使用了相同的命令,但由于某种原因,它只是在这个地方有问题。如果我删除它,我会收到错误“Expected """ by found end of script"

我对 AppleScript 一无所知 - 只是想使 iCal 可用于专业用途。

【问题讨论】:

    标签: outlook applescript icalendar


    【解决方案1】:

    取自您的文章引用的链接: Mac OS X Hints

    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
    

    【讨论】:

      猜你喜欢
      • 2021-12-12
      • 2019-12-24
      • 2011-05-19
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-23
      相关资源
      最近更新 更多