OneNote : création d'un lien vers un mail

boiperso

Membre actif
29 Juin 2010
400
9
Bonjour
Je souhaite créer dans Onenote un lien vers un mail situé dans ma messagerie MAIL.
Je ne sais pas comment identifier l'adresse de ce mail dans ma messagerie.
Merci de vos conseils
Philippe
 
Bonjour,

Vous avez besoin de message::// + le message id
Exemple : message:://<999999999.1451661439572439225.JavaMail.email.apple.com>

Vous pouvez obtenir le message id en affichant les en-têres du message : menu "Présentation" --> "Message" --> "Tous les en-têres"
L'id est après la ligne qui commence par Message-ID:

----
Ou vous utiliser ce script AppleScript qui crée un lien à partir du message sélectionné dans Mail et mets ce lien dans presse-papiers.
Bloc de code:
tell application "Mail"
    set theLink to "message:://%3C" & (message id of item 1 of (get selection)) & "%3E"
end tell
do shell script "echo '<a href=\"" & theLink & "\">Voir message dans Mail</a>' | textutil -format html -convert rtf -stdin -stdout | pbcopy -Prefer rtf"
Donc, il suffit d'exécuter le script et de coller le lien dans OneNote.
 
merci bien pour cette réponse précise.
J'ai bien trouvé l'ID du message mais il ne se finit pas par "JavaMail.email.apple.com>" comme dans l'exemple mais par:
JavaMail.www@wwinf1u15>
ou bien
@mailjet.com>

Mon lien n'est donc pas clickable comme dans l'exemple. Comment faire ?

De plus vous parlez de l'utilisation d'un script AppleScript. De quelle manière l'utiliser et l’exécuter ?
Cordialement
 
Bonsoir,

'ai bien trouvé l'ID du message mais il ne se finit pas par "JavaMail.email.apple.com>" comme dans l'exemple mais par:
JavaMail.www@wwinf1u15>
ou bien
@mailjet.com>
Oui, la fin de l'identifiant sera différente selon le message (le FAI de l'envoyeur )

Mon lien n'est donc pas clickable comme dans l'exemple. Comment faire ?
OneNote le voit comme du texte, il faut faire "Insérer un lien" --> (commande + K).

De plus vous parlez de l'utilisation d'un script AppleScript. De quelle manière l'utiliser et l’exécuter ?
Cordialement
Pour le script : il y a plusieurs possibilités , en voici une
Ouvre l'application Automator,
Presse les touches (commande + N) , sélectionne "Service", clic sur le bouton "Choisir"
Sélectionne dans les popup menu (en haut de la fenêtre) pour que cela donne ceci --> Le service reçoit "Pas d'entrée" dans "OneNote" ou "N'importe quelle application".

Tape AppleScript dans le champ de recherche de la fenêtre d'Automator
Glisse l'action "Exécuter un script AppleScript" dans la partie de droite de la fenêtre.
Supprime le texte par défaut dans l'action.
Copie/colle ce script dans l'action
Bloc de code:
on run
    tell application "Mail"
        set theLink to "message:://%3C" & (message id of item 1 of (get selection)) & "%3E"
    end tell
    do shell script "echo '<a href=\"" & theLink & "\">Voir message dans Mail</a>' | textutil -format html -convert rtf -stdin -stdout | pbcopy -Prefer rtf"
end run

Presse les touches (commande + S) pour l'enregistrer, quitte Automator.
Maintenant, ce service est disponible dans ONeNote ou toute les applications si vous avez sélectionné "N'importe quelle application".

C'est possible de mettre un raccourci sur ce service, cela se fait dans les préférences système --> "Clavier" --> "Raccourcis" --> "Services"
 
super, merci bien ça marche terrible !!!
je ne connais pas automator mais j'ai l'impression qu'on peux faire un tas de truc avec...
Bonne soirée
 
Bonjour,

Bonjour, est ce que on peut avec l'ID d'un message sur Outlook 365 ?

OSX n'a pas de protocole pour ouvrir un lien directement dans Outlook.

Mais, cela est possible avec l'aide d'une application pour ouvrir un lien personnalisé.


Voici le script pour créer le lien personnalisé.
Bloc de code:
tell application "Microsoft Outlook"
    set theLink to "outlook://" & (id of item 1 of (get selection))
end tell
do shell script "echo '<a href=\"" & theLink & "\">Voir message dans Outlook</a>' | textutil -format html -convert rtf -stdin -stdout | pbcopy -Prefer rtf"


Voici le script pour ouvrir un lien personnalisé dans "Microsoft Outlook"
Bloc de code:
on open location outlookUrl
    set theId to text 11 thru -1 of outlookUrl
    tell application "Microsoft Outlook"
        activate
        open message id theId
    end tell
end open location

Enregistre-le comme Application au lieu de Script, utilise ce nom "OpenOutlookLink"

Après, ouvre le paquet de l'application "OpenOutlookLink.app" (clic-droit --> "Afficher le contenu du paquet").
Ouvre le dossier "Contents", ouvre le fichier "Info.plist" dans l'application TextEdit

Remplace le texte par ceci
Bloc de code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleAllowMixedLocalizations</key>
    <true/>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleExecutable</key>
    <string>applet</string>
    <key>CFBundleIconFile</key>
    <string>applet</string>
    <key>CFBundleIdentifier</key>
    <string>com.apple.ScriptEditor.id.OpenOutlookLink</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>OpenOutlookLink</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleSignature</key>
    <string>aplt</string>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>OutlookURLHandler</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>outlook</string>
            </array>
        </dict>
    </array>
    <key>LSMinimumSystemVersionByArchitecture</key>
    <dict>
        <key>x86_64</key>
        <string>10.6</string>
    </dict>
    <key>LSRequiresCarbon</key>
    <true/>
    <key>WindowState</key>
    <dict>
        <key>bundleDividerCollapsed</key>
        <true/>
        <key>bundlePositionOfDivider</key>
        <real>0.0</real>
        <key>dividerCollapsed</key>
        <true/>
        <key>eventLogLevel</key>
        <integer>2</integer>
        <key>name</key>
        <string>ScriptWindowState</string>
        <key>positionOfDivider</key>
        <real>421</real>
        <key>savedFrame</key>
        <string>20 767 354 347 0 0 2048 1129 </string>
        <key>selectedTab</key>
        <string>description</string>
    </dict>
</dict>
</plist>

Enregistre et ferme le document, quitte TextEdit.

Double-clic sur l'application "OpenOutlookLink".
Après cela, un clic sur un lien personnalisé qui commence par "outlook://" s'ouvrira dans "Microsoft Outlook"
 
ok mais comment :
1/ je trouve l'ID de mon message Outlook ?
2/ comment je le lie à ta procédure ?
3/ comment trouver OpenOutlookLink.app ?
merci
 
Dans les en-têtes du message (quel que soit le logiciel, la structuration du fichier source est la même), c'est la balise Message-ID:
Ok j'ai trouvé l'ID de mon message mais je n'ai pas bien saisi ta manœuvre. A quel moment je met l'adresse ID de mon message pour faire un lien direct ?
Faut il que j'utilise automator comme indiqué sur le message précédent ?
Merci
 
Bonjour,

1/ je trouve l'ID de mon message Outlook ?
2/ comment je le lie à ta procédure ?
Il suffit de sélectionné un message dans Outlook, et d'exécuter le premier script pour obtenir un lien dans le presse-papiers, après tu colles ce lien où vous voulez.

3/ comment trouver OpenOutlookLink.app ?
C'est le deuxième script, il suffit de l'enregistrer dans le format "Application" avec ce nom "OpenOutlookLink" dans un dossier de votre choix.
 
Bonjour,


Il suffit de sélectionné un message dans Outlook, et d'exécuter le premier script pour obtenir un lien dans le presse-papiers, après tu colles ce lien où vous voulez.


C'est le deuxième script, il suffit de l'enregistrer dans le format "Application" avec ce nom "OpenOutlookLink" dans un dossier de votre choix.

Ok merci beaucoup, je tente !

Pour exécuter le script il faut lancer le terminal ?
 
Dernière édition par un modérateur:
Pour exécuter le script il faut lancer le terminal ?
Non, c'est un AppleScript, pas un script shell.

L'exécution du script peut se faire exactement comme pour le script pour le message sélectionné dans Mail.

SI cela se faisait par un service Automator pour Onenote (suggestion que j'ai donné dans le message #4):
SI vous n'avez plus besoin de ce service, il suffit de remplacer le script pour Mail par le script pour Outlook
Sinon, il suffit de créer un autre service comme celui pour Onenote mais le script sera celui pour Outlook au lieu du script pour Mail
 
Bonjour
Désolé, mais je ne parviens pas à réaliser cette étape. Quand tu dis "Enregistre-le comme Application au lieu de Script" c'est dans automator ? Comment faire ? jai fait le premier apple script avec automator et effectivement quand je clique droit sur un message je ne vois pas apparitre "service" comme dans mail. Alors là, je sèche...
Merci bien

Voici le script pour ouvrir un lien personnalisé dans "Microsoft Outlook"
Code (Text):
on open location outlookUrl
set theId to text 11 thru -1 of outlookUrl
tell application "Microsoft Outlook"
activate
open message id theId
end tell
end open location
Enregistre-le comme Application au lieu de Script, utilise ce nom "OpenOutlookLink"

Après, ouvre le paquet de l'application "OpenOutlookLink.app" (clic-droit --> "Afficher le contenu du paquet").
Ouvre le dossier "Contents", ouvre le fichier "Info.plist" dans l'application TextEdit
 
Bonjour,

Bonjour
Désolé, mais je ne parviens pas à réaliser cette étape. Quand tu dis "Enregistre-le comme Application au lieu de Script" c'est dans automator ? Comment faire ?

L'application de base pour les scripts AppleScript est "Éditeur de script" (sert aussi pour des scripts JavaScript (JXA)), il est dans le dossier "/Applications/Utilitaires/".

Donc, ouvre l'application "Éditeur de script":
Colle un script dans la fenêtre.
Compile le script avec les touches commande + k
Enregistre le document avec les touches commande + s
Lorsque la fenêtre d'enregistrement s'affichera, il suffit de sélectionner "Application" comme format de fichier (c'est dans le menu du bouton en bas de la fenêtre) .​
 
Bonjour,



L'application de base pour les scripts AppleScript est "Éditeur de script" (sert aussi pour des scripts JavaScript (JXA)), il est dans le dossier "/Applications/Utilitaires/".

Donc, ouvre l'application "Éditeur de script":
Colle un script dans la fenêtre.
Compile le script avec les touches commande + k
Enregistre le document avec les touches commande + s
Lorsque la fenêtre d'enregistrement s'affichera, il suffit de sélectionner "Application" comme format de fichier (c'est dans le menu du bouton en bas de la fenêtre) .​
super ! merci beaucoup, je tente
 
merci ça marche, par contre impossible de coller le lien généré dans la calendrier du Mac. ça ne fonctionne que sur une page Word mais pas lorsque je créé un évènement dans le calendrier et que je veux coller le lien vers un mail (pour me rappeler l'objet du rv ou de la conférence par ex)? le lien ne se colle pas non plus dans Wunderlist un utilitaire que j'utilise comme Todo List. (tres pratique) C'est bien dommage. Est ce normal ? Merci encore !
 
Bonjour,

par contre impossible de coller le lien généré dans la calendrier du Mac. Est ce normal ?

Pour Calendrier (probablement la même chose pour Wunderlist): le texte doit être l'adresse du lien (plain text), car Calendrier n'accepte pas un lien RTF.

Voici comment obtenir les deux possibilités, cela collera un texte qui contient un lien si l'application accepte du RTF, sinon cela collera l'adresse du lien:

Dans Automator: utilise ce script (fonctionne à partir de El Capitan) à la place de l'ancien script :
Bloc de code:
use framework "Foundation"
use scripting additions
tell application "Microsoft Outlook"
    set theLink to "outlook://" & (id of item 1 of (get selection))
end tell
set myRTF to do shell script "echo '<a href=\"" & theLink & "\">Voir message dans Outlook</a>' | textutil -format html -convert rtf -stdin -stdout"
set pBoard to current application's NSPasteboard's generalPasteboard()
pBoard's clearContents() -- vide
pBoard's setString:myRTF forType:"public.rtf" -- un RTF qui contient un lien
pBoard's setString:theLink forType:"public.utf8-plain-text" --  seulement l'adresse du lien

Important : Compile le script en cliquant sur le bouton dont l'icône est un marteau (car cela est nécessaire quand le script utilise des méthodes Cocoa).
Enregistre le workflow, ferme le workflow.
C'est tout.​
 
ouha très fort, le lien vers le mail sélectionné est cliquable maintenant dans Calendrier et dans Wunderlist, exactement ce que je cherchai !!
Une question : tu es informaticien ? Codeur ? Développeur ?
Merci beaucoup !