2014-09-21 1 views
0

У меня есть простой сценарий автоответчика, основанный на примерах, которые я видел здесь и в других местах, которые предназначены для запуска из правила Mail-фильтрации. Вот суть его:Обработка входящих сообщений в Applescript по правилу электронной почты в Mavericks

 
on perform_mail_action(theData) 
    tell application "Mail" 
     set theMessages to |selectedMessages| of theData 
     repeat with theIncomingMessage in theMessages 
      set theOriginalSender to sender of theIncomingMessage 
      set theOriginalSubject to subject of theIncomingMessage 
      set theOriginalContent to content of theIncomingMessage 
      set t to "" 
      set t to t & "This is an automated response to your message below..." 
      set t to t & return & return & "===============================================" & return & return 
      set t to t & "Subject:" & theOriginalSubject & return & return & theOriginalContent 
      set theReply to make new outgoing message 
      tell theReply 
       make new to recipient at beginning of to recipients ¬ 
        with properties {address:theOriginalSender} 
       set sender to "[email protected]" 
       set subject to "RE: your message" 
       set content to t 
       send 
      end tell 
      set mailbox of theIncomingMessage to mailbox "Trash" 
     end repeat 
    end tell 
end perform_mail_action 

Я знаю правила, вызывающую этот сценарий стрельбы, так как он играет звук. Но ничего не отправляется, и входящее сообщение остается в моем почтовом ящике.

Если удалить первые и последние строки, и заменить третью строчку с

 
    set theMessages to messages of mailbox "test" of account "iCloud" 

затем он успешно обрабатывает все сообщения в папке «тест» (он посылает ответ и удаляет входящее сообщение).

Правило ничего не делает, кроме как воспроизводить звук и вызывать скрипт. Как отмечено выше, звук воспроизводится. Что мне не хватает?

ответ

0

Заменить первые 3 строки (в том числе set theMessage...) с:

using terms from application "Mail" 
    on perform mail action with messages theMessages for rule theRule 
     tell application "Mail" 

Заменить последнюю строку с:

end perform mail action with messages 
end using terms from 
+0

Почему конец, используя термины из? Я не использую термины из блока. – user83319

+0

oops, игнорировать предыдущий cmment. Я пропустил первую часть, где я должен был вставить используемые термины из утверждения .... – user83319

+1

В конце концов это сработало? –

Смежные вопросы