Firefox : Mailto et Zimbra

Ma boite mail professionnelle étant sous Zimbra, j’ai longtemps cherché comment faire pour que les liens des pages web vers les adresses email (les fameux mailto) me redirigent vers une page de rédaction de mail, avec le champ « à » rempli comme il faut, évidemment. À force de chercher, j’ai fini par tomber sur cette page, donc je vais grosso modo me contenter de traduire la page en question.

Commencez par copier la totalité du code suivant dans un éditeur de texte pour pouvoir remplacer les deux occurrences de mail.server.com par l’adresse effective de votre serveur de messagerie (lignes 6 et 52) :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// ==UserScript==
// @name Mailto Compose In Zimbra
// @namespace http://www.dawnbreaker.com
// @description Rewrites "mailto:" links to Zimbra compose links
// @include *
// @exclude https://mail.server.com
// ==/UserScript==
(function() {
var processMailtoLinks = function() {
var xpath = "//a[starts-with(@href,'mailto:')]";
var res = document.evaluate(xpath, document, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
var linkIndex, mailtoLink;
for (linkIndex = 0; linkIndex < res.snapshotLength; linkIndex++) {
mailtoLink = res.snapshotItem(linkIndex);
//alert(mailtoLink.href);
var m = mailtoLink.href;
var matches = m.match(/^mailto:([^\?]+)(\?([^?]*))?/);
var emailTo, params, emailCC, emailSubject, emailBody;
emailTo = matches[1];
//alert("Found to=" + emailTo);
params = matches[3];
if (params) {
var splitQS = params.split('&');
var paramIndex, param;
for (paramIndex = 0; paramIndex < splitQS.length; paramIndex++) {
param = splitQS[paramIndex];
nameValue = param.match(/([^=]+)=(.*)/);
if (nameValue && nameValue.length == 3) {
// depending on name, store value in a pre-defined location
switch(nameValue[1]) {
case "to":
emailTo = emailTo + "%2C%20" + nameValue[2];
break;
case "cc":
emailCC = nameValue[2];
//alert("Found CC=" + emailCC);
break;
case "subject":
emailSubject = nameValue[2];
//alert("Found subject=" + emailSubject);
break;
case "body":
emailBody = nameValue[2];
//alert("Found body=" + emailBody);
break;
}
}
}
}
mailtoLink.href = "https://mail.server.com/zimbra?app=mail&view=compose" +
(emailTo ? ("&to=" + emailTo) : "") +
(emailCC ? ("&cc=" + emailCC) : "") +
(emailSubject ? ("&subject=" + emailSubject) : "") +
(emailBody ? ("&body=" + emailBody) : "");
// mailtoLink.onclick = function() { location.href = newUrl; return false; };
}
}
window.addEventListener("load", processMailtoLinks, false);
})();

Ensuite, rendez-vous à ici, collez le contenu du script ainsi modifié dans la partie User Script. Laissez la valeur du GUID telle quelle et changez la valeur de la version maximale de Firefox de façon à ce que le script soit compatible avec la votre. Cliquez ensuite sur [Compile] et la page va vous proposer de télécharger le fichier d’extension Firefox (*.xpi) correspondant.

Il ne reste plus donc qu’à ouvrir le gestionnaire de modules complémentaire de Firefox → « installer un module depuis un fichier » et d’aller chercher votre .xpi. Au redémarrage de Firefox les mailto ouvriront donc automatiquement la page de composition d’email de Zimbra dans un nouvel onglet.

 

Bonne navigation !

Firefox  : Mailto et Zimbra
4 (80 %) 4 votes
  • Bertil

    Merci pour cette manipulation ; je suggère néanmoins de mentionner dès le départ qu’elle s’applique à Firefox, avec un titre dans le style « mailto/Firefox et Zimbra »…

    • Très juste, je corrige ça de suite !