Profitez des offres Memoirevive.ch!
Activer l’accusé de réception dans Mail.app

ATTENTION, CETTE METHODE A ETE TESTEE POUR L'UNE DES PREMIERE VERSION DE TIGER. RIEN NE GARANTI SON FONCTIONNEMENT POUR DES VERSIONS ULTERIEURES. A MA CONNAISSANCE, CETTE METHODE NE FONCTIONNE PAS SOUS LEOPARD

Dans le forum de Cuk.ch, haut lieu de liberté d'expression, mais aussi de déconnade et de sujets sérieux (ayant ou non un rapport avec le Mac), une question est apparue récemment, posée par Papou:

Avis de réception
Toujours désagréable de se poser la question de savoir si notre mail a été lu ou pas Y a-t-il une possibilité avec Entourage de recevoir un avis de réception au moment où le destinataire lit le mail ?

Ceux qui ont l'habitude de travailler avec les produits Microsoft et en particulier avec Outlook ou Outlook Express, seront familiers avec ce concept "d'accusés de réception". Il s'agit simplement de faire en sorte que lorsque votre correspondant reçoit votre email, un email vous est envoyé en retour, vous confirmant la lecture de votre message. Inversement, lorsque vous recevez un message demandant un tel accusé, un email est envoyé à votre correspondant attestant de la bonne réception de l'email.

Ce procédé pourtant bien pratique lorsque vous utilisez l'email de manière professionnelle est (à ma connaissance) inexistant sur Mac. Ce qui est d'autant plus surprenant que l'ancêtre de Mail.app qui tournait sous NexTSTEP offrait cette possibilité.

Cette absence a peut-être une explication, j'y reviendrai plus loin.

Revenons donc à la question de notre GMF (Gentil Membre du Forum*) Papou: comment utiliser ces accusés de réception dans Entourage ?

Malheureusement, je n'ai pas la réponse.

Mais vous pensez bien que je n'ai pas écrit cette humeur pour vous dire que je ne savais pas !

Il se trouve que je sais comment le faire pour Mail.app, livré avec notre MacOS X chéri. Comme ceci semblait susciter l'intérêt des autres GMF, je vous propose cette solution.

Je tiens tout de suite à préciser que je n'ai aucun mérite pour cette astuce, je l'ai trouvée sur MacOSXHints.com. Je n'ai fait que l'adapter et vous la présenter de manière la plus accessible possible.

Petite introduction aux "En-Têtes"

Dans Mail.app, lorsque vous sélectionnez un message, vous trouvez traditionnellement en en-tête l'expéditeur, l'objet (le sujet), la date et le destinataire (vous !). Parfois vous y trouvez également les autres destinataires (CC).

Toutes ces informations sont stockées dans les en-têtes du message, aussi appelés "headers". Mais il faut se rendre compte que ce que vous montre Mail.app n'est qu'une petite partie des en-têtes. Si vous allez dans le menu Présentation:Message:En-têtes longs, vous verrez quelque chose comme ça:

LongHeaders_thumb.png

Et encore, dans cet exemple il n'y a pas grand-chose ! On y trouve entre autres le chemin parcouru par le message ou encore l'application utilisée pour envoyer ce message (ici Mail.app).

L'accusé de réception n'est rien d'autre qu'un en-tête supplémentaire qui s'intitule "Disposition-Notification-To".

Toute l'astuce consistera alors à réagir à cet en-tête et à l'ajouter à vos messages.

Activer la réponse à un accusé de réception

Commençons par faire en sorte que vous puissiez envoyer un accusé de réception à votre correspondant, s'il en demande un.

Là ce n'est pas très compliqué, il suffit d'analyser tout message entrant pour vérifier s'il possède l'en-tête "Disposition-Notification-To". Pour cela, nous allons créer une règle et lui adjoindre un AppleScript qui va créer un message d'accusé de réception.

Commençons par le script. Voici le code:

using terms from application "Mail"
        on perform mail action with messages selectedMsgs
                repeat with msg in selectedMsgs
                        set theSubject to subject of msg
                        set theSender to extract name from sender of msg
                        set theAddress to extract address from sender of msg
                        set theDate to date sent of msg
                        tell application "Mail"
                                set nowDate to current date
                                set theBody to "Your message" & return & return & "    Re: " & theSubject & return & "       Sent: " & theDate & return & return & "was received and read " & nowDate & ".  Thank you." & return
                                set newMessage to make new outgoing message with properties {subject:"Return Receipt: " & theSubject, content:theBody & return & return}
                                tell newMessage
                                        set visible to true
                                        make new to recipient at end of to recipients with properties {name:theSender, address:theAddress}
                                end tell
                        end tell
                end repeat
        end perform mail action with messages
end using terms from

Ce code est prévu pour un accusé de réception en anglais, pour un accusé en français je vous propose:

using terms from application "Mail"
        on perform mail action with messages selectedMsgs
                repeat with msg in selectedMsgs
                        set theSubject to subject of msg
                        set theSender to extract name from sender of msg
                        set theAddress to extract address from sender of msg
                        set theDate to date sent of msg
                        tell application "Mail"
                                set nowDate to current date
                                set theBody to "Votre message" & return & return & "    Re: " & theSubject & return & "       Envoyé le: " & theDate & return & return & "a été reçu et lu le " & nowDate & ".  Merci." & return
                                set newMessage to make new outgoing message with properties {subject:"Accusé de réception : " & theSubject, content:theBody & return & return}
                                tell newMessage
                                        set visible to true
                                        make new to recipient at end of to recipients with properties {name:theSender, address:theAddress}
                                end tell
                        end tell
                end repeat
        end perform mail action with messages
end using terms from

Copiez l'un de ces deux scripts et collez-le dans l'Editeur de Scripts (que vous trouverez dans /Applications/AppleScript/) et sauvez-le en tant que "script" sous le nom que vous voulez.

Pour vous faciliter la vie, je l'ai fait pour vous en français et anglais.

Placez ce script où bon vous semble. Pour ma part, je l'ai mis dans "/Bibliothèque/Scripts/Mail Scripts/", ce qui me semble le plus logique.

Configurons ensuite la règle. Rendez-vous dans les préférences de Mail.app, dans "Règles" et ajoutez une nouvelle règle. Nous l'appellerons "Accusé de réception".

Cette règle aura pour but de surveiller la présence de l'en-tête "Disposition-Notification-To". Entrez donc "Si chacune des conditions suivantes est remplie :". Ensuite nous devons choisir au lieu de "De" l'en-tête "Disposition-Notification-To". Or, cette dernière n'est pas dans la liste, il faut donc l'ajouter. Allez tout en bas du menu déroulant et sélectionnez "Modifier la liste des en-têtes". Vous obtiendrez une liste d'en-têtes et vous pourrez en ajouter un avec le bouton "+". Entrez le nom exact: "Disposition-Notification-To" (sans les guillemets):

HeadersList.png

Cliquez sur OK et retournez à l'édition de la règle. Choisissez à présent "Disposition-Notification-To" dans la liste puis "contient" et entrez "@" dans le champ de texte.

L'opération à effectuer en cas de correspondance, sera d'exécuter l'AppleScript que nous avons créé précédemment.

Donc sous "Effectuer les opérations suivantes :" choisissez "Exécuter l'AppleScript" et cliquez sur le bouton choisir pour aller chercher le fichier.

Au final, vous devez avoir ceci:

Regle_thumb.png

La première étape est franchie, vous pouvez à présent envoyer un accusé de réception à votre correspondant, lorsque ce dernier en demande un.

Je dois à ce point faire une remarque assez importante.

Le script que je vous propose ci-dessus n'envoie pas automatiquement le message de confirmation de lecture, il se contente de le créer et de le laisser en attente. Pour l'envoyer, vous devez encore cliquer sur le bouton "Envoyer". La raison de ce choix très judicieux par l'auteur du script (je vous rappelle que ce n'est pas moi) est simple: beaucoup de spammeurs demandent des accusés de réception. De cette manière, ces vils malandrins peuvent aisément vérifier la validité de votre adresse email. Avec Outlook et Outlook Express, vous pouvez décider d'envoyer l'accusé de réception automatiquement, ce qui est une très très mauvaise chose et qui explique peut-être le choix d'Apple d'avoir désactivé cette fonction.

Activer la requête d'un accusé de réception

La deuxième étape de cette configuration est certainement la plus intéressante pour nous, elle va vous permettre de demander un accusé de réception.

Vous l'aurez compris, il s'agit donc d'ajouter l'en-tête "Disposition-Notification-To" aux emails sortants.

Malheureusement, ce n'est pas si simple qu'il n'y paraît. En effet, l'édition des en-têtes pour les messages sortants n'est pas mise à disposition de manière intuitive par Apple.

Le plus surprenant, c'est que cette fonction existe ! Elle est juste cachée !

Pour ajouter cette option, il faut donc passer soit par l'édition directe du fichier de préférences soit par le Terminal.

(je sais qu'il y a des allergiques au Terminal sur Cuk, mais bon...)

La préférence en question s'appelle "UserHeaders" (logique), il faut donc simplement l'ajouter au moyen de cette commande:

defaults write com.apple.mail UserHeaders '{"Disposition-Notification-To" = "monNom@monAdresse.com"; }'

En remplaçant évidemment monNom@monAdresse.com par votre adresse email.

ATTENTION ! Si vous êtes un utilisateur confirmé et que vous avez déjà ajouté des en-têtes personnalisés, cette commande les effacera. Mais si vous avez fait ça, c'est que vous savez ce que vous faites, donc...

Pour supprimer la demande d'accusé de réception, il suffit d'effacer la préférence en question avec:

defaults delete com.apple.mail UserHeaders

Si le Terminal vous créé des boutons à un point où cela devient insupportable, vous pouvez aussi passer par un AppleScript.

Pour activer l'accusé de réception, créez et exécutez le script suivant, ou téléchargez-le:

do shell script "defaults write com.apple.mail UserHeaders '{"Disposition-Notification-To" = "monNom@monAdresse.com"; }'"

Attention, si vous le téléchargez, n'oubliez pas de le modifier pour y placer votre propre adresse email, sinon ça ne marchera pas ! Pour cela, double-cliquez le script, il s'ouvrira dans Editeur de scripts et vous pourrez le modifier.

De même, pour déactiver l'accusé de réception, créez et exécutez le script suivant, ou téléchargez-le:

do shell script "defaults delete com.apple.mail UserHeaders"

Si vous désirez fréquemment activer et désactiver l'accusé de réception, je vous propose de copier ces deux scripts dans le dossier "/Bibliothèque/Scripts/Mail Scripts" afin de les lancer rapidement depuis le menu des scripts ou depuis un lanceur comme Quicksilver ou Laucnhbar ou autre.

Conclusion

Voilà, les accusés de réception sont maintenant actifs dans les deux sens pour autant que vous utilisiez Mail.app.

Toutefois, gardez bien en mémoire que selon la configuration de votre correspondant, ce dernier pourra décider de ne pas répondre à votre demande d'accusé de réception.

Vous verrez que cela reste toutefois un outil très pratique pour éviter de se demander "mais bon sang il l'a reçu ou il l'a pas reçu ??"

Libre à vous de modifier les scripts pour personnaliser vos message, ils sont suffisamment clairs pour pouvoir être modifiés sans même avoir de grandes connaissances en programmation.


* Toi aussi tu veux devenir un GMF et pouvoir frimer devant tes copains et tes copines ? N'attends pas plus longtemps, inscris-toi !

51 commentaires
1)
François Cuneo
, le 31.03.2006 à 06:39

Mais non, mais non, on n’est pas allergique à Terminal, mais on utilisera tes scripts malgré tout!:-)

À ce propos, j’adore tes deux premiers scripts que les pauvres lecteurs vont s’évertuer à copier, sans voir qu’ils sont donnés au téléchargement dix lignes plus bas!

Ce qui prouve qu’un article de Cuk.ch, il faut le lire deux fois, tellement c’est bien!

Et désolé pour la mise en ligne tardive, j’ai eu une journée un peu tendue à la HEP hier, je suis allé me coucher encore tout énervé, et puis j’ai oublié de donner l’ordre de se mettre en ligne à minuit.

Honte à moi, ça ne l’a été qu’à partir de 6h02.

2)
Franck_Pastor
, le 31.03.2006 à 06:47

Merci Fabien ! Je teste ça en cours de journée !

Ah, ces fameuses préférences cachées de MacOSX…

3)
Chichille
, le 31.03.2006 à 07:38

Oui, bon, bah, bof… C’est pas mal tout ça. Mais si on utilise l’excellent Thunderbird, on n’a qu’à aller dans les préférences où l’on trouve une rubrique « avancé » puis une sous-rubrique « accusés de réception » avec tout un tas de jolis réglages.

Pour les reçus des correspondants, on n’est pas obligé de les valider, Thunderbird vous demande au cas par cas si oui ou non vous voulez le faire. À noter que jusqu’ici je n’ai pas eu ce problème avec les spammeurs : je reçois d’ailleurs très peu de spams et uniquement à l’adresse utilisée pour Cuk… Enfin pas seulement Cuk, mais tout de même.

Bof ! Bof ! Bof !

4)
BlackFire
, le 31.03.2006 à 08:56

Ah ! Voilà une fonction qui me manquait depuis mon switch !

C’est de la bonne bidouille, merci !

5)
Benlop
, le 31.03.2006 à 10:57

Je tiens juste à demander…
L’accusé de réception, il confirme que le mail a bien été reçu, manifestement, et non pas lu ! Et c’est dommage, car de nos jours avec des filtres anti-spam « trop performants », et qui jettent des mails finalement « désirables », on peut très bien recevoir un mail sans le lire, de même que notre correspondant peut recevoir notre mail sans jamais le lire.

Et un mail a quand même beaucoup plus de chances de ne pas être lu que de ne pas être reçu, mine de rien. Je n’ai jamais eu de mail qui s’est retrouvé perdu dans une autre nature que le « Junk Mail » de mes correspondants…

6)
Chichille
, le 31.03.2006 à 11:26

L’accusé de réception, il confirme que le mail a bien été reçu

Effectivement.

A noter que dans Thunderbird – j’insiste ! – les « indésirables » ne sont pas nécessairement irrécupérables, tout dépend de ce que l’on a demandé au logiciel d’en faire. Dans l’ensemble, je suis très satisfait de la finesse de jugement de mon logiciel de mail préféré, mais je jette tout de même un œil sur les intitulés des indésirables pour les cas très rares ou un « bon » message aurait été maltraité.

Bof ! Bof ! Bof !

7)
Raphaël Fauveau
, le 31.03.2006 à 11:55

Et hop, un petit test vite fait bien fait…
Dire que je met des semaines à en faire un… pfffff

8)
gabriel.parriaux
, le 31.03.2006 à 12:11

Merci pour cette bidouille absolument géniale! C’est effectivement ce qui manquait à Mail.app depuis toujours…

Deux questions:

1. Est-ce que pour faire la commande Terminal qui modifie les entêtes, il faut quitter Mail auparavant?

2. Une fois votre explication mise en place, tous nos messages du compte mail modifié vont sortir avec des demandes d’accusé de réception (ce qui n’est pas ce que je désire) ou est-ce qu’on peut choisir optionnellement pour un message précis de demander un accusé de réception? Dans ce cas, comment faire?

Merci d’avance et encore bravo!

Gabriel

9)
Fabien
, le 31.03.2006 à 12:59

Chichille: oui, Thunderbird est très bien, mais malheureusement il n’arrive pas à la cheville de Mail en matière d’intégration au système.

kmx: effectivement, il s’agit d’un accusé de réception et non pas de lecture. Toutefois, comme le destinataire doit valider l’envoi de l’accusé, on peut considérer que le message sera lu. Ceci suppose bien entendu que le dit destinataire n’a pas activé l’envoi automatique de l’accusé.

gabriel.parriaux:
1. Non, il est inutile de quitter Mail pour activer ou désactiver l’accusé. C’est tout l’intérêt de passer par un script lancé depuis le menu des scripts ou depuis un lanceur.

2. Ma réponse au point 1 répond partiellement à cette deuxième question. Si vous voulez envoyer un mail sans accusé, lancez la deuxième commande (ou le deuxième script) pour le désactiver puis relancez la première pour le réactiver. Personnellement, j’ai même associé un raccourci-clavier à l’activation et à la désactivation pour passer rapidement d’un à l’autre.

10)
gabriel.parriaux
, le 31.03.2006 à 13:19

Fabien,
Merci pour ces infos.

J’ai un petit problème avec le script de désinstallation dans Terminal. Je l’ai copié-collé tel quel et voici le résultat qu’il me donne:

There is no (UserHeaders) default for the (com.apple.mail) domain.
Defaults have not been changed.

Cela ne semble donc pas avoir fonctionné…

Dans la commande Terminal pour désinstaller, il n’y a rien à modifier ou je me trompe? Il supprime les UserHeaders et cela est valable pour tous les comptes mails que j’aurais modifié?

Gabriel

11)
Fabien
, le 31.03.2006 à 14:03

Attention, je viens de remarquer que j’ai fait une petite erreur dans la commande Terminal pour activer l’accusé de réception ! Il manque un apostrophe en fin de ligne, il faut donc lire:

defaults write com.apple.mail UserHeaders ‘{« Disposition-Notification-To » = « monNom@monAdresse.com »;}’

J’ai corrigé l’article.

A noter que l’AppleScript est correct.

gabriel, ceci répond peut-être à ta question. En effet, l’erreur que tu reportes signifie que l’accusé n’avait pas été activé (ou qu’il était désactivé). Si tu as utilisé la ligne fausse, comme je viens de le signaler, il est possible que l’accusé n’ait pas été activé correctement.

Peux-tu réessayer ?

12)
gabriel.parriaux
, le 31.03.2006 à 14:51

OK Fabien.

J’ai corrigé ton erreur et effectivement, cela joue correctement maintenant, le script de désinstallation ne renvoie plus de message d’erreur.

Par contre, j’ai trouvé une autre erreur: le script à télécharger pour activer la réponse aux accusés de réception n’est pas correct en français. En anglais, ça joue. En français, ce n’est pas le bon script! Je te laisse vérifier le contenu du fichier compressé…

Gabriel

13)
dpesch
, le 31.03.2006 à 14:54

Merci Fabien pour cet article qui nous permet d’activer cette partie de mail.app que je trouvais bien manquante.

J’ai eu le même problème que Gabriel, mais avec la version précédente de la commande Terminal (ce qui prouve que je suis un béotien en la matière !). Avec la nouvelle version, cela marche très bien. Cela tenait donc à une apostrophe… On est bien peu de chose, mon bon monsieur…

Merci encore.

Daniel.

14)
Chichille
, le 31.03.2006 à 15:21

Chichille: oui, Thunderbird est très bien, mais malheureusement il n’arrive pas à la cheville de Mail en matière d’intégration au système.

Personnellement, je n’en souffre guère dans l’usage quotidien. Par contre, les premières versions de Mail refusaient absolument de m’ouvrir plus d’un compte. Alors que je n’ai jamais eu de problème avec Thunderbird auquel je reste fidèle sans manque ni douleur et sans ouvrir le terminal.

Je peux d’ailleurs très bien envoyer un mail via Thunderbird à une adresse saisie dans TopAddress (pas taper! François, pas taper !)

Bof ! Bof ! Bof !

15)
gabriel.parriaux
, le 31.03.2006 à 15:25

Autre petit soucis pour moi…

Mail a planté deux fois chez moi depuis que j’ai fait ces petites modifs…

image

Je suis sceptique…

Gabriel

16)
Fabien
, le 31.03.2006 à 15:35

gabriel: j’ai corrigé le fichier en français, merci de m’avoir signalé ce problème

Quant à ton plantage, j’avoue être sceptique, j’utilise ces accusés depuis plusieurs semaines et je n’ai rencontré absolument aucun problème.

Est-ce que tu peux cibler d’ou vient le problème ? Est-ce à la réception de mails avec accusés, en l’envoi, ou c’est complètement aléatoire ?

17)
Smop
, le 01.04.2006 à 02:13

…Mais si on utilise l’excellent Thunderbird…

Humm, tout le monde n’est pas aussi satisfait que toi de Thunderbird : fil SunWizard . La gestion des comptes multiples SSL est une véritable catastrophe. En ce qui me concerne, je n’ai pas trouvé mieux que Mail.App d’Apple, malgré ses quelques défauts.

Fabien, une suggestion d’article : la mise en place et l’utilisation de certificats S/MIME, voire de PGP, dans Mail.App. En tout cas bravo pour ce petit topo ! A noter que moi j’ajoute aussi le header « X-Confirm-Reading-To« .

18)
Fabien
, le 01.04.2006 à 08:58

Merci de ce commentaire Smop, je vais tester l’ajout de X-Confirm-Reading-To.

Pour PGP, c’est une bonne idée, je vais y réfléchir.

19)
Chichille
, le 01.04.2006 à 11:54

Humm, tout le monde n’est pas aussi satisfait que toi de Thunderbird : fil SunWizard.

Comme je suis honnête, je suis aller voir. Et j’ai trouvé à propos de Mail : « Bref, une vraie merveille, « même s’il plante parfois… ».

Dont acte.

Bof ! Bof ! Bof !

20)
Fabien
, le 01.04.2006 à 15:01

AVIS A LA POPULATION !!!!

CECI EST UN SUPPLIQUE !!!

VERIFIEZ QUE VOUS AVEZ BIEN MIS [B]VOTRE[/B] ADRESSE EMAIL DANS LE SCRIPT D’ACTIVATION ET PAS LA MIENNE !!!

JE N’ARRETE PAS DE RECEVOIR DES ACCUSÉS DE RECEPTION EST C’EST VRAIMENT PENIBLE !!!!

21)
drazam
, le 01.04.2006 à 15:05

Tiens, c’est marrant ça pour un 1er avril… c’est quoi ton adresse déjà?

___________________________________
signé encore ce « mudak » de drazam

22)
VRic
, le 01.04.2006 à 20:17

Fabien, il me semble que cet article mériterait que tu coches la catégorie « Trucs et Astuces » (pour une fois qu’on a quelque chose à mettre dedans) et peut-être aussi « Technique ».

23)
JediMac
, le 01.04.2006 à 20:40

Je n’ai pas essayé ce script, mais j’y vois un point gênant. Quand on a plusieurs comptes, c’est toujours le même qui recevra l’AR, à moins de changer l’adresse dans le script, mais là ça devient l’usine à gaz.

24)
Fabien
, le 02.04.2006 à 08:39

JediMac: excellente et pertinente remarque. C’est effectivement le cas.

25)
Chichille
, le 02.04.2006 à 09:15

Quand on a plusieurs comptes, c’est toujours le même qui recevra l’AR,

Je ne voudrais pas avoir l’air bêtement teigneux, mais avec Thunderbid (dit « l’excellent »), c’est un truc qui ne risque pas de m’arriver.

Cela dit en passant et sans insister…

Voilà, voilà, voilà…

Bof ! Bof ! Bof !

26)
VRic
, le 02.04.2006 à 10:36

Les 2 problèmes sont certainement évitables (celui-ci et le fait même de mettre l’adresse dans le script, qui a causé l’agression de l’adresse de Fabien) en adaptant le script (le 2e, celui qui règle la pref de header personnalisé) pour qu’il attrape l’adresse du compte utilisé.

Après quoi il serait même diffusable compilé pour de totaux non-scripteurs.

Je n’ai pas le temps là, mais ce ne devrait pas être dur.

Ah si: la difficulté pourrait porter sur la possibilité de modifier la pref à la volée. Pas sûr qu’elle soit prise en compte sans relancer Mail. Ce qu’on veut scripter ici c’est l’envoi des messages:
– attraper l’adresse de ce compte
– modifier la pref pour l’accusé de réception
– expédier les messages en attente de ce compte
– passer éventuellement au compte suivant
– éventuellement supprimer la pref pour que les messages expédiés manuellement ne demandent pas d’accusé
(donner un raccourci clavier au script aidera à l’oublier, en l’utilisant à la place de la commande d’expédition habituelle)

Je manque d’expérience dans Mail (je scripte Claris Emailer), mais à voir le dictionnaire AppleScript de Mail, ça devrait être possible. Reste à voir si le header personnalisé est lu au moment d’expédier, auquel cas ça marche, ou au lancement de l’application, auquel cas ça ne marche pas sans contorsions.

27)
VRic
, le 02.04.2006 à 11:41

[color=red]Oups[/color], c’est plus compliqué que prévu, je corrige le commentaire précédent: scripter l’envoi de messages.

28)
VRic
, le 02.04.2006 à 12:02

Ou peut-être essayer MailPriority , plugin permettant entre autres d’ajouter un bouton dans la barre d’outils pour demander l’accusé pour chaque message individuellement, ce qui laisse supposer qu’il tient compte du compte.

MailPriority n’a pas été mis à jour depuis Mac OS 10.3, donc à vérifier dans 10.4.

29)
labon
, le 03.04.2006 à 01:58

J’utilisait Mailpriority.
Mais depuis Tiger, ça ne marche Plus et je pleurais tous les jours son abandon.

Ce soir, je découvre l’activation des accusés. Oh joie. MailPriority sans Mailpriority…

Merci.
Bon, intégré dans l’interface des messages de mail ce serait mieux, mais bon. Là, c’est déjà bien.

Re merci

30)
Fabien
, le 03.04.2006 à 08:17

VRic, comme tu l’as constaté ce n’est pas aussi simple qu’on pourrait le croire.

Il faut en effet intercepter la commande de création d’un nouveau message… et encore, ça ne suffirait pas puis que l’utilisateur peut encore décider de changer d’adresse d’expédition.

Ce qu’il faudrait c’est intercepter l’envoi… et là, AppleScript ne suffit plus, il faut créer un plugin pour Mail. Or, Apple ne documente pas la création de tels plugins, il faut passer par le reverse-engineering.

31)
Cédric Luthi
, le 03.04.2006 à 13:13

Pour PGP, c’est une bonne idée, je vais y réfléchir.

Pas la peine de se fatiguer, Olivier Pellerin a déjà couvert ce sujet dans un très bon article en 4 volets, sur cuk.ch bien éviement ;-)

PGP-GPG : mettez vos courriers dans des enveloppes (1ère partie)
PGP-GPG : mettez vos courriers dans des enveloppes (2ème partie)
PGP-GPG : mettez vos courriers dans des enveloppes (3ème partie)
PGP-GPG : mettez vos courriers dans des enveloppes (4ème partie)

32)
Thomas Linard
, le 03.04.2006 à 19:14

Juste un message pour dire : merci !

33)
VRic
, le 03.04.2006 à 22:41

Il faut en effet intercepter

Pas forcément intercepter: on pourrait certes dans un logiciel extrèmement « attachable » affecter un script à une commande existante, mais dans un logiciel juste « scriptable » on peut tout aussi bien faire un script indépendant qui effectue entre autres cette commande, après quoi on utilise ce script au lieu de la commande d’origine, ce qui donne le même résultat.

Note aux curieux: il y a 3 niveaux et demi de scriptabilité pour un programme
– scriptable: on peut le commander par script;
– enregistrable: on peut enregistrer dans l’éditeur de script les opérations qu’on effectue dans l’application (beaucoup plus rare);
– attachable: on peut affecter des script à des commandes du logiciel, en général seulement à un « menu Scripts », beaucoup plus rarement à des éléments existants du logiciel.
– non scriptable: on peut le commander en scriptant l’interface graphique

la commande de création d’un nouveau message

Je pensais plutôt à scripter l’envoi. À moins que cette ligne du header ne soit construite dès la création du message (peu probable mais impossible à deviner sans tester).

et encore, ça ne suffirait pas puis que l’utilisateur peut encore décider de changer d’adresse d’expédition.

Ce qu’il faudrait c’est intercepter l’envoi

Précisément. Mais encore une fois, pas besoin d’intercepter. Juste un script qui fait son truc ET qui envoie.

Ainsi on garde la fonction normale d’envoi sans demande d’accusé, et on AJOUTE la possibilité d’en demander quand on en veut. Ce qui est d’ailleurs plus réaliste: personne de raisonnable ne veut d’une option lui permettant soit de demander toujours un accusé à tout le monde, soit jamais (bon, je n’ai pas vérifié comment les logiciels MS le présentent :-)

Il est évident en regardant Mailpriority que c’est comme ça qu’il faut faire: normal par défaut et demande d’accusé uniquement quand on le demande explicitement pour un message particulier.

Une pref globale n’est donc pas adaptée, qu’elle soit secrète (Apple) ou juste cachée au fond d’un dialogue (MS?) C’est d’ailleurs probablement pourquoi Mail ne la présente pas dans dans le dialogue de prefs.

et là, AppleScript ne suffit plus, il faut créer un plugin

Mailpriority a besoin d’être un plugin pour ajouter des menus et boutons, mais on n’a pas besoin de ça. Il faudrait aussi un plugin pour « intercepter » une commande, mais il est inutile d’intercepter une commande pour lancer un script.

Et tant qu’on n’aura pas essayé, rien ne dit que la modif de header nécessite un plugin, puisque la pref est scriptable de façon standard et que l’envoi est scriptable. Ce qui peut poser un problème c’est essentiellement le chargement de la pref par le logiciel:

– soit cette partie du header est créée en lisant la pref au moment de l’envoi, et alors scripter l’envoi suffit

– soit elle est créée en lisant la pref au moment de la création du message (peu probable) et scripter la création de message marche mais laisse un risque d’incohérence en cas de changement de compte ultérieur

– soit, ce qui est malheureusement le plus probable, le logiciel charge ses prefs au lancement et les modifs directes des preférences par terminal ne sont pas prises en compte à la volée, auquel cas on est foutus et là, effectivement, on ne s’en tire pas sans plugin (à moins qu’il existe un moyen subtil pour lui faire relire ses prefs sans le relancer, peut-être en scriptant en plus un changement dans les prefs normalement accessibles: si on a de la chance il sauve les changements et recharge le fichier, si on n’a pas de chance il sauve la version située en mémoire sans ressentir le besoin de recharger le fichier)

34)
rascasse
, le 13.04.2006 à 21:43

Fabien,
Merci d’essayer de nous aider à résoudre ce problème. J’ai un bel I Mac tout neuf, mais je pleure..mes accusés de réception! (et d’autres trucs sur word, j’étais sur PC depuis 10 ans). A mon âge c’est pas ben raisonnable de changer brutalement, surtout quand on n’y connait rien (et en plus une pauvre femme un peu cassée par le boulot).
QQ aurait t il la gentillesse de me faire un topo, comme à une débile (!) en me disant comment faire? (avec toutes les manoeuvres, genre aide wanadoo « en ligne » quand ils sont efficaces (rare!).
Autre chose: qq pourrait il m’indiquer un livre lisible (pour non initiés ) pour bien utiliser Word sur Mac?
Merci les jeunes! J’ai pas le temps de potasser avant la retraite…(dsqques années)

rascasse

35)
VRic
, le 14.04.2006 à 14:58

rascasse: pour Word je ne sais pas, mais concernant les accusés de réception, si c’est indispensable il est probablement plus simple de choisir un client email prévu pour ça que de bidouiller Mail.

Dans Mail, il y a moyen en se creusant la tête de voir quand un message reçu demande un accusé (en affichant la partie d’en-tête concernée et/ou en utilisant un filtre pour par exemple les colorier en rouge), mais ce n’est pas évident pour le novice. Et pour demander des accusés dans les messages sortants, il n’y a pour l’instant que la bidouille imparfaite mentionnée par l’article, à moins d’être encore sous Mac OS X 10.3, auquel cas le plugin MailPriority règle très simplement la question.

Si Entourage (inclus dans MS Office) n’a pas changé depuis mes infos, il le fait à moitié (que dans un sens il me semble, ou quelque chose d’approchant).

Eudora est laid et plus ou moins payant, mais il sait faire ça. Mais quitte à changer de mailer, autant en essayer plein. Thunderbird et QuickMail gèrent les accusés, pour les autres il faudra vérifier. Quelques mailers courants pour Mac OS X, sans ordre particulier: PowerMail, GyazMail, Musashi, Mailsmith, Magellan, Mulberry, Nisus Email).

macupdate.com/email client

36)
rascasse
, le 14.04.2006 à 20:28

Merci Vric je CROIS que j’ai compris!
Joyeuses cloches de pâques Rascasse

rascasse

37)
Fabruccio
, le 13.06.2006 à 17:54

Salut, grâce à toi, j’ai pu produire mon premier script.
Alors je me permets de te rappeler l’ article du forum qui traite de cette question.

Fabruccio

38)
Azzedine
, le 23.06.2006 à 07:52

Pour le script d’activation il reste un moyen de mettre l’adresse au coup par coup sans modifier le script à chaque coup :

tell application « Finder »
set monadresse to display dialog « Quelle adresse utiliser pour le retour? » default answer « Mettre ici l’adresse »
end tell
do shell script « defaults write com.apple.mail UserHeaders ‘{« Disposition-Notification-To » = «  » & monadresse & «  »; }' »

39)
Azzedine
, le 23.06.2006 à 08:05

ou pas…

Ou ais-je merdé? :/

40)
Azzedine
, le 26.06.2006 à 20:54

Bon j’ai reussit grâce à de l’aide…
Donc avec ce script il est possible de choisir l’adresse de retour à chaque activation, on le met en execution avec une combinaison de touches (chez moi j’ai mis alt+F1) et il demmande quel adresse mettre en retour d’accusé…
si on veut juste changer l’adresse on réexecute une nouvelle fois le script, si on veut couper l’accusé ou utilise le second script avec une autre combinaison (genre chez moi alt+F2).
Voici la copie d’ecran du script (vu que ça passe mal quand on le tape)

41)
tdalleau
, le 13.03.2007 à 07:04

Gabriel avait fait part d’un problème de plantage, je rencontre le même problème lorsque j’appel le script pour répondre à une demande d’accusé réception. Ceci semble être aléatoire, car pour le même message lorsque j’applique la règle, ça plante 1 fois sur 2…

Il s’agit d’un MacBook Pro 2gh core duo / 512 mo DDR2

42)
tdalleau
, le 13.03.2007 à 07:06

Je ne vois pas mon precedent message…

edit : oups désolé, un bug d’Opera… :(

43)
Hinata
, le 05.02.2008 à 10:20

Bonjour,

Depuis la mise à jour sur Leopard avec Mail 3, le script ne fonctionne plus… Si une âme charitable a une solution, merci d’avance !

44)
m-_g
, le 19.05.2008 à 16:53

Bonjour à tous,

j’étais trop heureux de pouvoir me servir de ces scripts (pour envoyer mes factures ;) ), hélas comme quelqu’un le dit ci-dessus, depuis la mise à jour des programmes, ça ne fonctionne pas… Help, quelqu’un a-t-il une solution ?

Je lui serait éternellement reconnaissant,

45)
MarcOS
, le 15.11.2009 à 12:56

Le truc, excellent, ne fonctionnait déjà plus avec les dernières versions de Tiger. Sous Léo et Snow-Léopard, je ne sais pas.

Je vais essayer !

Bien à vous,

Marc Somville

47)
Cortel
, le 18.11.2013 à 12:00

Ce script fonctionne-t-il avec mavericks ?

48)
Cortel
, le 18.11.2013 à 12:04

Ce truc fonctionne-t-il avec Mavericks ? Il est quand même scandaleux qu’Apple n’ait pas implémenté cette fonction tout à fait importante en milieu professionnel. Merci.

49)
Cortel
, le 18.11.2013 à 12:06

Ce truc fonctionne-t-il avec Mavericks ? Il est quand même scandaleux qu’Apple n’ait pas implémenté cette fonction tout à fait importante en milieu professionnel. Merci.

50)
Cortel
, le 18.11.2013 à 12:06

Ce truc fontionne-t-il avec mavericks ?

51)
Fredke Chim'é
, le 28.10.2014 à 18:25

Cela marche très bien sous la version 10.7.5
Merci pour les explications. ;-)