Vraag het de scriptdokter: problemen met e-mail oplossen

click fraud protection

AppleScript is een geweldige tool voor het automatiseren van de apps die je dagelijks op je Mac gebruikt—als je kunt de juiste code achterhalen. We zijn er om te helpen: we hebben scripting- en Automator-expert Ben Waldie gevraagd om enkele problemen met lezers op te lossen met AppleScript. Het idee is niet alleen om specifieke oplossingen te bieden voor specifieke problemen, maar ook om enkele algemene te demonstreren principes en biedt voorbeeldscripts die u, met een beetje knutselen, kunt aanpassen om een ​​heleboel andere op te lossen ook problemen. Allereerst: een paar vragen over Mail. Start AppleScript Editor (/Applicaties/Hulpprogramma's) en volg mee.

V: Ik heb heel veel postvakmappen in Mail, waarvan sommige meerdere niveaus diep zijn genest. In de loop der jaren heb ik er duizenden berichten in opgeslagen, waarvan ik sommige nooit als gelezen heb gemarkeerd. Is er een manier om al die mappen te doorlopen en alle berichten als gelezen te markeren?

Absoluut. U wilt Mail laten weten dat het leesstatuskenmerk van elk ongelezen bericht in uw Postvak IN, lokale mailboxen en mailboxen op uw mailserver moet worden ingesteld op

vals. Maar wees voorbereid: afhankelijk van het aantal berichten en mailboxen dat u heeft, kan deze procedure even duren. En aangezien individuele AppleScript-commando's een time-out krijgen als ze niet binnen 2 minuten klaar zijn, krijg je mogelijk ook een foutmelding. Daarom is het een goed idee om je script in een time-out wrapper om dergelijke fouten te voorkomen. In het onderstaande script kan elke actie maximaal 5 minuten duren; voel je vrij om de time-outperiode indien nodig te verlengen.

--Sta maximaal 5 minuten toe met een time-out van 300 seconden, vertel de toepassing "Mail" -- Verwerk alle ongelezen berichten in de inbox ingestelde leesstatus van elk bericht in de inbox waar it read status = false to true -- Verwerk alle ongelezen berichten op uw lokale Mac stel de leesstatus van elk bericht van elke mailbox in waarbij de leesstatus = false to true -- Verwerk alle ongelezen berichten op uw mailserver stel leesstatus in van elk bericht van elke mailbox van elk account waarbij de leesstatus = false naar true end tellend time-out

V: Om archiveringsredenen op het werk is mij gevraagd om duizenden Mail-e-mailberichten af ​​te drukken naar PDF-indeling. Hoe kan ik dat automatiseren?

Helaas heeft Mail geen ingebouwde AppleScript-ondersteuning voor het opslaan van een bericht als pdf, dus de oplossing is niet zo eenvoudig als het lijkt. Maar het is zeker mogelijk. De kunst is om wat UI-scripting te gebruiken om de beperking te omzeilen. Ga eerst naar de systeemvoorkeur Toegankelijkheid en zorg ervoor dat de Toegang voor ondersteunende apparaten inschakelen selectievakje is ingeschakeld; UI-scripting werkt alleen als deze instelling is ingeschakeld.

Dit script slaat het voorste geopende bericht op als pdf. Om meerdere berichten te verwerken, kunt u het script uitbreiden door het in een herhalende lus te plaatsen en wat foutbeveiliging toe te voegen. ( Hier is een script dat alle inbox-berichten als pdf's opslaat.)

vertel applicatie "Systeemgebeurtenissen" vertel proces "Mail" -- Breng Mail naar de voorgrond stel voorste in op waar -- Selecteer het menu-item Print klik (eerste menu-item van menu "Bestand" van menubalk 1 waarvan de naam begint met "Afdrukken") vertel venster 1 -- Wacht tot het afdrukblad verschijnt herhaal totdat blad 1 bestaat einde herhaal vertel blad 1 -- Klik op de PDF-knop klik op de menuknop "PDF" -- Selecteer het Opslaan als Klik op het PDF-menu-item (eerste menu-item van menu 1 van de menuknop "PDF" waarvan de naam begint met "Opslaan als PDF") -- Wacht tot opslaan als blad verschijnt, herhaal totdat blad 1 bestaat, herhaal blad vertellen 1 -- Navigeer naar het Bureaublad met toetsaanslag "D" met de opdracht omlaag -- Voer een naam in voor de PDF-toetsaanslag "My PDF.pdf" -- Klik op de knop Opslaan klik op de knop "Opslaan" end tell end tell end tell end tellend vertellen

Houd er rekening mee dat dit script is gekoppeld aan de interface van Mail en dat het verwacht dat bepaalde menu's, knoppen en vensters bestaan. Als Apple dingen verplaatst in een toekomstige versie van OS X, moet u mogelijk enkele aanpassingen aan het script maken.

V: Als ik op kantoor ben, sluit ik mijn MacBook Air aan op een externe monitor, die ik dan als mijn primaire scherm gebruik; het scherm van de Air is voornamelijk voor mijn Agenda en Mail. Ik zou graag een script hebben dat ik kan uitvoeren wanneer ik op mijn werk aankom en dat deze toepassingsvensters automatisch naar het Air-scherm verplaatst en de grootte ervan wijzigt. Kan het worden gedaan?

Zeker. Wanneer u op kantoor bent, verplaatst u uw agenda- en e-mailvensters naar het scherm van de Air en plaatst u ze waar u ze wilt hebben. Nu ben je klaar om hun grenzen vast te leggen (positie en grootte). Voer elk van de volgende scripts uit in AppleScript Editor. Ze geven de grenzen terug in het onderste resultatenvenster; noteer de resultaten.

-- Om de positie en grootte van het kalendervenster te bepalen, moet de toepassing "Calendar" de grenzen van het voorvenster weergeven
-- Om de positie en grootte van het Mail-venster te bepalen, geeft de applicatie "Mail" de grenzen van het voorste bericht viewend tell weer

Laten we zeggen dat het eerste script de waarden retourneert {-1426, 102, -491, 930}, terwijl de tweede terugkeert --> {-955, 100, -7, 845}. Plug die nummers in het onderstaande script. Wanneer u het script uitvoert, wordt het formaat en de positie van de vensters aangepast. Sla het script op als een toepassing en sleep het naar uw Dock. Wanneer u op kantoor bent, klikt u erop om de vensters opnieuw in te stellen. U kunt overwegen een tweede versie van het script te schrijven om ze te verplaatsen wanneer u alleen het scherm van de MacBook gebruikt.

-- Om de positie en grootte van het kalendervenster in te stellen, stelt u de grenzen van het voorvenster in op {-1426, 102, -491, 930}einde tell-- Om de positie en grootte van het Mail-venster in te stellentell-toepassing "Mail" stelt u de grenzen van de voorste berichtenviewer in op {-955, 100, -7, 845}einde vertellen

Heeft u een probleem waarbij de Script Doctor u kan helpen? Stuur ze naar [email protected].

Bijgewerkt 29-10-12 16:45 uur PT om de betreffende bewerkingsfout te corrigeren met betrekking tot: afdrukken naar PDF's.

  • Apr 17, 2023
  • 47
  • 0
instagram story viewer