0

eHow には、ICS ファイルを送信する代わりに、iCal 招待状を Outlook で適切にフォーマットすることを想定している Applescript に関する記事があります。

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

ただし、手順 (HTML マークアップを除く) に従うと、[コンパイル] をクリックした後、Tell Mail コマンドに関して次のエラーが表示されます。

「構文エラー: "," または "}" が必要ですが、識別子が見つかりました」

スクリプト全体で同じコマンドが使用されていますが、何らかの理由でこの場所でのみ問題があります。削除すると、「Expected """ by found end of script」というエラーが表示されます

私は AppleScript について何も知りません - iCal をプロ用に使えるようにしようとしているだけです。

4

1 に答える 1

0

あなたの記事が参照しているリンクから引用: 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
于 2012-11-13T04:44:03.163 に答える