Jak zamknąć Mail.app po wysłaniu alertu przez iCal?

6

iCal używa wbudowanego pliku skryptowego do wysyłania przypomnień za pośrednictwem Mail.app. Działa świetnie, ale nie używam Mail.app dla mojego głównego konta e-mail, tylko do wysyłania powiadomień kalendarza.

Mail.app otwiera się i wysyła alert, ale pozostaje otwarty.

Próbowałem edytować plik skryptu Apple, aby zamknąć program Mail, ale to nie działa.

Czy ktoś może udzielić porady?

Sathyajith Bhat
źródło

Odpowiedzi:

4

Zróbmy to we właściwy sposób ...

Ustaw nowe wydarzenie w kalendarzu po wiadomości e-mail, a niech uruchomi applecript ... Skrypt składałby się z jednej linii:

tell application "Mail" to quit

Wierzę, że powinien zadbać o twoje problemy ....

Benjamin Schollnick
źródło
1
Czy nie musiałbym dodawać nowego wydarzenia po każdym powiadomieniu e-mail iCal, aby to działało? Próbowałem dodać powyższą linię do skryptu, którego iCal używa do wysyłania powiadomienia e-mail wczoraj wieczorem, ale to po prostu zignorowało. Jakiś pomysł dlaczego? /Aplikacje/iCal.app/Contents/Resources/Scripts/Mail.scpt
Prawda ... To byłby problem .... Gdzie dodałeś go, kiedy umieściłeś go w skrypcie ...?
Benjamin Schollnick
Ha ... cóż, zacząłem od początku, ale nic nie zrobił, więc przeniosłem to dookoła. Przypomnienie e-mailowe nadal działa niezależnie od tego, gdzie je umieściłem, ale Mail odmawia zamknięcia.
Wiesz, że dzięki iCal możesz dodać więcej niż jedną akcję do wydarzenia? to mogłoby rozwiązać problem. dodanie małej pętli do uruchomienia, aż wiadomość zostanie wysłana, a następnie zamknięta. Lub po prostu napisz skrypt, który wysyła wiadomość, a następnie zamknij Mail.app. W ogóle nie używam AppleScript, ale może ktoś, kto to wie, może nas oświecić.
Philippe Gilbert
4

Wymyśliłem trudny sposób, aby to zrobić. Zamierzam poczynić kilka założeń: używasz IMAP i znasz swoją drogę do Findera i AppleScript. Myślę, że może to działać również w przypadku poczty POP, chociaż nie używam poczty POP, więc nie jestem pewien struktury folderów

Słowo ostrzeżenia: spowoduje to wyzwolenie przy każdym wysłaniu wiadomości e-mail za pomocą Apple Mail. Przypuszczam, że to nie ma znaczenia, ponieważ używasz go tylko do wysyłania alertów iCal.

  1. Spójrz na swój folder ~ / Library / Mail w swoim folderze konta. Będzie oznaczony jako IMAP-login @ mailserver
  2. Powinien tam być folder o nazwie INBOX. Lub jeśli używasz Gmaila, może to być oznaczone [Gmail]. Wszystko zależy od konfiguracji poczty IMAP. W tym folderze powinieneś mieć folder Wysłane. Mój został nazwany Sent.imapmbox. Może to Sent Mail.imapmbox dla gmaila
  3. Wewnątrz że folder powinien być Messages teczka. Chcemy dołączyć akcję folderu do tego folderu
  4. Kliknij prawym przyciskiem myszy Messages folder i znajdź Folder Actions Setup w menu Usługi. (Może się różnić, jeśli nie używasz systemu OS X 10.6 Snow Leopard.)
  5. Dołącz skrypt do tego folderu. Użyj tego, którego nazwano add - new item alert.scpt Na razie.
  6. Wybierz skrypt w prawym okienku. Kliknij Edit Script przycisk.
  7. Zastąp zawartość skryptu następującymi elementami:

    on adding folder items to this_folder after receiving added_items
       try
          tell application "Mail" to quit
       end try
    end adding folder items to
    
  8. Zapisz skrypt jako quit - apple mail.scrpt lub cokolwiek.

Teraz, gdy z tym kontem zostanie wysłana wiadomość e-mail, a wysłana poczta zostanie przeniesiona do tego folderu, skrypt ten zostanie aktywowany i zamknie aplikację Poczta! Przetestowałem to i działało na moim komputerze.

Alternatywnie możesz użyć MailActOn skonfigurować i regułę poczty wychodzącej, która uruchamia skrypt. (Poczta obsługuje tylko skrypty poczty przychodzącej). To jednak kosztuje. Przypuszczam, że jeśli cc: konto pocztowe skonfigurowane w Apple Mail, można skonfigurować regułę poczty przychodzącej…

ghoppe
źródło
Wielkie dzięki za przydatne informacje !! Zauważ, że kroki zmiany uprawnień i zmiany właściciela nowego skryptu mogą zostać pominięte, jeśli zalogujesz się na komputerze Mac jako root. Wciąż musisz jednak zezwolić użytkownikowi root na zrobienie tego. Jeśli zdecydujesz się to zrobić za pomocą „su -”, pamiętaj, aby po zakończeniu zmienić swoje uprawnienia z powrotem na oryginalne ustawienia i ponownie ukryć folder ~ / Library.