Gérer les accusés de réception avec Mail pour Mac OS X Tiger.
Par Damien MAURAN,
jeudi 18 octobre 2007 à 10:00 :: Mac OS X
:: #8
:: rss
::PDF :: tags : accusé réception
, applescript
, mac os x
, mail
Bizarrement, alors que tous les clients de courriers électronique digne de ce nom gèrent les accusés de réception dans les mails, l'application d'Apple n'en tient pas compte. Voici deux techniques pour palier à ce manque : la première permet de gérer les accusés de réception lorsque l'on reçoit un mail, la seconde permet de demander un accusé de réception à l'envoi d'un courrier électronique.Note : les deux procédures ci-dessous ont été réalisées sous Mac OS X 10.4 (Tiger) avec Mail 2.1.
- Explication du fonctionnement général de l’accusé de réception dans un courrier électronique.
La fonction d’accusé de réception dans un courrier électronique tient dans la gestion d’une en-tête de message qui est définie à l’envoi d’un mail et qui est traitée ou non à la réception de ce mail. Cette entête est : "Disposition-Notification-To". Au même titre que les autres en-tête qui compose en mail ("Retrun-Path" pour l’adresse de réponse ou "From" pour l’adresse de l’expéditeur), il suffit de rajouter cette en-tête à l’envoi et de la traiter à la réception.
Par défaut, Mail pour Mac OS X ne gère pas l’en-tête "Disposition-Notification-To". Mais avec un minimum de configuration et de scripts en AppleScript, il est possible d’intégrer les fonctions d’accusé de réception. Il suffit de lui indiquer que si un mail entrant contient une en-tête "Disposition-Notification-To", il faut extraire l’adresse de réponse pour envoyer un mail ; pour l’envoi de mail avec demande d’accusé de réception, il suffit de modifier le fichier des préférences de Mail pour lui indiquer de rajouter l’en-tête "Disposition-Notification-To" avec la bonne adresse de réponse.
Pour la gestion des courriers entrants demandant des accusés de réception, la fonction effectuée par Mail prépare un email qui se retrouve ouvert devant l’utilisateur et qui contient un message tout près indiquant que le Mail a bien été ouvert par le destinataire. Il suffit de cliquer sur Envoyer pour valider la fonction ou de supprimer le message si on ne veut pas répondre à la demande d’accusé de réception.
À savoir : il faudra que l’utilisateur active et désactive la demande d’accusé de réception manuellement. Cette activation/désactivation s’effectue sans avoir à relancer Mail.
- Gestion des mails reçus demandant un accusé de réception
Ouvrez l’Editeur de scripts (/Applications/AppleScript/Editeur de scripts) et écrivez l'applescript suivant :
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
Enregistrez ce script sous le nom AccuseReception dans /Applications/AppleScript/Example Scripts/Mail Scripts.
Pour activer la gestion des mails entrants avec demande d’accusé de réception, ouvrez les préférences de Mail et allez dans l’onglet Règles. Créez une nouvelle règle. Nommez-là "Accusé de Réception" dans le champ Description. Déroulez le premier menu déroulant de la règle qui est par défaut "De" et allez sur l’option tout en bas "Modifier la liste des en-têtes".
Dans la fenêtre qui apparait, cliquez alors sur le petit "+" pour ajouter "Disposition-Notification-To" dans la liste des en-têtes de message. Validez par OK. Déroulez de nouveau le menu "De" et choisissez la nouvelle en-tête "Disposition-Norification-To". Dans le champs à droite de "Contient", ajoutez simplement "@".
Il faut ensuite indiquer les opérations à réaliser si la règle est vérifiée. Pour cela, déroulez le menu "Déplacer le message" et choisissez "Exécuter AppleScript". Cliquez sur le bouton Choisir en allez chercher notre script (/Applications/AppleScript/Example Scripts/Mail Scripts/AccuseReception). Voilà, validez la nouvelle rêgle.
ATTENTION : à la validation de la nouvelle règle par le bouton OK, n’appliquez pas la nouvelle règle aux messages existants. Cela pourrait envoyer des accusés de réception à des anciens messages.
A la réception d'un courrier électronique qui demande un accusé de réception, un nouveau mail pré-établi s'ouvrira devant vous et il vous suffira de l'envoyer tel quel si vous voulez répondre à l'accusé de réception ou de le fermer sans le sauvegarder si vous voulez ignorer la demande.
- Gestion des mails à envoyer avec demande d’accusé de réception.
Nous allons rajouter au courrier sortant l'en-tête "Disposition-Notification-To". Mais nous allons faire deux scriptes, l'un pour activer la demande d'accusé de réception, l'autre pour la désactiver, et nous allons aussi créer un témoin qui permettra de savoir si cette fonction est activée ou pas, à savoir un fichier sur le bureau qui changera de nom en fonction de l'activation ou de la désactivation.
Ouvrez l’Editeur de scripts (/Applications/AppleScript/Editeur de scripts) et écrivez le scripte suivant :
do shell script "defaults write com.apple.mail UserHeaders '{\"Disposition-Notification-To\" = \"votre_email@votre_fournisseur\"; }'"
tell application "Finder"
activate
set name of document file "AR désactivé.rtf" of folder "Desktop" of folder "votre_maison" of folder "Users" of disk "Macintosh HD" to "AR activé.rtf"
end tell
ATTENTION : Pensez à bien indiquez votre véritable adresse email dans la première ligne du script. De même, dans la ligne commençant pas "set name", pensez à changer "votre_maison" par le nom réel de votre répertoire racine personnel. Vérifiez aussi que votre disque dur qui contient ce répertoire s'appelle bien Macintosh HD ou changez son nom dans le script.
Enregistrez votre script sous le nom Activer l’accusé dans /Applications/AppleScript/Example Scripts/Mail Scripts.
Créez un nouveau script et entrez la ligne suivante :
do shell script "defaults delete com.apple.mail UserHeaders" tell application "Finder" activate set name of document file "AR activé.rtf" of folder "Desktop" of folder "votre_maison" of folder "Users" of disk "Macintosh HD" to "AR désactivé.rtf" end tell
Même précaution que pour le script précédent : pensez à modifier le nom de "votre_maison" et à vérifier le nom du disque dur qui contient ce répertoire.
Enregistrez votre script sous le nom Désactiver l’accusé dans /Applications/AppleScript/Example Scripts/Mail Scripts.
Créez un fichier avec TextEdit(/Application/TextEdit) où vous écrirez ce que vous voulez ("indique l’état de la fonction d’accusé de réception dans mail" par exemple est une bonne idée de contenu !) et enregistrez-le sous le nom "AR désactivé" sur votre bureau. Mettez-lui une étiquette rouge pour qu’il soit bien visible (bouton droit sur le fichier et option étiquette, choisissez la pastille rouge). Ce fichier servira de témoin de l’état de la fonction de demande d’accusé de réception.
Lancez Utilitaire AppleScript dans /Applications/AppleScript. Laissez ouverte la fenêtre du Finder sur /Applications/AppleScript/Example Scripts/Mail Scripts/, elle va nous servir plus loin. Dans l’Utilitaire AppleScript, activez la fonction "Afficher le menu des scripts dans la barre de menu" et décochez "Afficher de la bibliothèque". Quittez l’Utilitaire AppleScript.
Dans le menu AppleScript qui vient d’apparaître dans barre de menu près de l’horloge à droite, cliquez sur Ouvrir le dossier Scripts puis sur Ouvrir le dossier Script utilisateur. Dans la nouvelle fenêtre du Finder qui vient de s’ouvrir, glisser les fichiers Activer l’accusé et Désactiver l’accusé. Fermez les fenêtres du Finder.
Dans le menu AppleScript, vous pouvez alors directement accéder aux deux fonctions. Avant d’envoyer un courrier électronique, l’utilisateur peut alors choisir d’activer la demande d’accusé de réception ou de la désactiver au choix. Le passage d’une fonction à l’autre ne nécessite pas de relancer Mail. L’utilisateur peut toujours savoir où il en est en regardant le nom du fichier en rouge "AR … " qui se trouve sur le bureau.
Source : Merci à Fabien Conus sur Cuk.ch et au siteMacOSXHints .

Commentaires
1. Le dimanche 25 novembre 2007 à 15:27, par Jean-Yves
2. Le dimanche 25 novembre 2007 à 16:44, par Damien
3. Le jeudi 29 novembre 2007 à 20:50, par David
4. Le jeudi 29 novembre 2007 à 21:23, par Damien
5. Le mardi 11 décembre 2007 à 14:04, par albare
6. Le mardi 11 décembre 2007 à 17:05, par jean-Yves
7. Le samedi 9 février 2008 à 21:54, par anne-math
8. Le dimanche 10 février 2008 à 10:07, par Damien
9. Le lundi 11 février 2008 à 19:54, par christophe
10. Le lundi 11 février 2008 à 22:21, par Damien MAURAN
11. Le jeudi 14 février 2008 à 00:36, par MacManiak
12. Le mardi 12 août 2008 à 11:42, par Razzia
13. Le mardi 12 août 2008 à 18:07, par Damien MAURAN
14. Le mercredi 13 août 2008 à 11:25, par Razzia
15. Le dimanche 12 octobre 2008 à 14:09, par cheb
16. Le mardi 14 octobre 2008 à 14:08, par morganesque
17. Le mardi 14 octobre 2008 à 14:57, par Damien MAURAN
18. Le jeudi 16 octobre 2008 à 14:29, par morganesque
19. Le lundi 9 mars 2009 à 16:37, par Fco
20. Le lundi 9 mars 2009 à 18:06, par Damien MAURAN
21. Le mardi 10 mars 2009 à 16:36, par Fco
22. Le mercredi 11 mars 2009 à 16:17, par jonathan
23. Le samedi 14 mars 2009 à 09:22, par MALLER
24. Le samedi 14 mars 2009 à 18:39, par Fco
25. Le mardi 7 avril 2009 à 12:15, par sleepdancer
26. Le vendredi 5 juin 2009 à 08:35, par WILLIAM
27. Le mardi 16 juin 2009 à 12:05, par Fco
28. Le lundi 21 septembre 2009 à 19:26, par breizhinours
29. Le mardi 22 septembre 2009 à 08:45, par breizhinours
30. Le mardi 22 septembre 2009 à 13:59, par Damien MAURAN
31. Le mardi 6 octobre 2009 à 15:09, par lbop
32. Le mardi 23 mars 2010 à 17:55, par Tanneau
33. Le jeudi 22 avril 2010 à 11:02, par Lionel
34. Le mardi 29 novembre 2011 à 08:41, par fafou
35. Le samedi 24 mars 2012 à 03:23, par pierre
Ajouter un commentaire