1 votes

L'AppleScript de Mail.app pour traiter les e-mails POP3 ne fonctionne plus sous Lion

J'ai un script de règle Mail.app qui fonctionnait bien dans Mac OS X Snow Leopard. C'est simplement un script qui permet de combiner la logique booléenne ET/OR ensemble pour déclencher une (rarement deux) des actions suivantes:

  1. Déplacer le message vers le dossier d'archive
  2. Supprimer le message électronique (mettre à la corbeille)
  3. Transférer le message à quelqu'un d'autre
  4. Colorer le message (pour signaler l'importance)

Vous pouvez consulter le script ici. La majeure partie du script est constituée des conditions booléennes que je regarde (et oui, je sais que mes multiples 'else if' auraient pu être combinés en moins de if, mais j'ai trouvé qu'il était plus facile d'avoir chaque 'condition' que je recherche dans son propre if).

Sous Snow Leopard, tout fonctionnait bien, mais sous Lion, j'obtiens un comportement étrange. Ma boîte de réception est trompée/bloquée en pensant qu'elle a des e-mails à télécharger. Fondamentalement, chaque message qui aurait été 'déplacé/supprimé' ne reçoit pas le drapeau de traité sur mon serveur POP3. Donc chaque fois que je reçois un email, je vois ce qui suit dans l'Activité du Courrier: 'Messages Entrants... X sur Y' (où Y est le nombre croissant d'e-mails affectés par mon script), pourtant rien de nouveau n'est téléchargé.

Si j'éteins ma Règle de Courrier qui exécute le script, tous les emails sont à nouveau téléchargés dans ma boîte de réception. Quelques points à noter:

  • Je suis connecté à des comptes POP3
  • Je utilisais Growl 1.2.2, mais je l'ai désactivé par intuition que ce n'était pas compatible avec Lion. Vous verrez toujours une fonction sendGrowl dans le script, mais vous remarquerez que l'ensemble du corps de la fonction est commenté.

Toutes suggestions ou idées sur la façon de faire fonctionner cela à nouveau pour que je puisse maîtriser ma boîte de réception serait EXTREMEMENT apprécié.

1voto

Ryan Spears Points 1524

A en juger par votre description du problème, il semble que Lion’s Mail.app rencontre des difficultés à exécuter correctement une action AppleScript de déplacement sur un serveur PO3 (ou peut-être juste votre serveur POP3 - n'ayant pas de serveur POP pour tester moi-même, je ne peux pas vérifier). Une solution pourrait être de séparer les deux composantes de l'opération de déplacement en remplaçant la ligne

déplacer chaqueMessage dans la boîte aux lettres "Archived/BTR Monitoring Emails"

par

copier chaqueMessage dans la boîte aux lettres "Archived/BTR Monitoring Emails"
supprimer chaqueMessage

dans l'espoir qu'une commande de suppression expresse fonctionnera mieux. Si cela ne résout pas le problème (parce que les suppressions souffrent du même problème - je ne peux pas dire avec certitude à partir de votre question), vous pourriez également essayer de définir le statut de suppression du message au lieu de lui envoyer une commande supprimer, c'est-à-dire

copier chaqueMessage dans la boîte aux lettres "Archived/BTR Monitoring Emails"
définir le statut de suppression de chaqueMessage à vrai

bien que je ne sois pas entièrement sûr de la manière dont cela se passera dans un serveur POP (cela semble être quelque chose désigné pour IMAP).

Enfin, vous pourriez essayer de commenter les lignes définir le statut de lecture de chaqueMessage à vrai dans les blocs de déplacement et de suppression - cela ne devrait, en toute logique, pas affecter le serveur, car POP3 n'a aucune notion de "statut de lecture" (vous avez besoin d'IMAP pour stocker cela côté serveur), mais cela pourrait éventuellement poser un problème si l'AppleScript de Mail le pense autrement. Définir le statut du message comme lu peut également être réalisé dans une règle sans avoir recours à AppleScript, donc en supprimant cela du script ne devrait pas poser de problème.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X