Неисправность в AppleScript от eHow для улучшения совместимости iCal и Outlook

77
12

eHow имеет статью о некотором Applescript, который предположительно должен правильно отображать приглашения iCal в Outlook, вместо отправки файла ICS.

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

Однако, когда я следую инструкциям (минус разметка HTML), после нажатия компиляции он дает мне следующую ошибку в отношении команды Tell Mail:

"Синтаксическая ошибка: ожидаемая", "или"), но найденный идентификатор "

Эта же команда используется во всем скрипте, но по какой-то причине она только проблематична в этом месте. Если я удалю его, я получаю сообщение об ошибке "Ожидаемый", "найденный конец скрипта"

Я ничего не знаю об AppleScript - просто пытаюсь сделать iCal работоспособным для профессионального использования.

спросил(а) 2021-01-19T14:27:05+03:00 2 месяца, 3 недели назад
1
Решение
86

Взятые из ссылки ссылки на вашу статью: 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 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-01-19T14:27:05+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема