Mrs/fr
From Milimail
Contents |
Documentation Utilisateur - Message Remote Services
Message Remote Services (MRS) est une extension pour Thunderbird 2.x qui expose des services distants d'envoi de message à des processus externes Une API Java est aussi proposée.
Par conséquent, un programme Java peut instrumentaliser le logiciel Thunderbird lancé sur le même poste.
MRS permet :
- Envoyer des Mails.
- Lister et recevoir les mails reçus.
AVERTISSEMENTS :
- L'extension est actuellement en version alpha, c'est-à-dire qu'elle est encore au stade de développement et qu'elle peut fonctionner de manière incorrecte.
Installation de l'extension
- Télécharger l'extension (mrs-linux-x86 ou mrs-win)
- Suivre la procédure d'installation d'une extension.
- Ensuite, relancer le client Thunderbird.
Configuration
Pour configurer, cliquer droit sur l'extension dans le menu des extensions
- Les services peuvent être démarrer au démarrage et stopper à l'arrêt deThunderbird.
- Quand le mode est changé, Thunderbird doit être redémarré.
Utiliser l'API Java
l'extension Message Remote Services expose des services accessible par une autre application munie de l'API Java détaillée ci-dessous.
Télécharger la dernière version de l'API (mrs-JavaAPI_*.zip):
La MRS API est composé d'un fichier JAR (MessageRemoteServices.jar) à inclure dans l'application. La bibliothèque lib/commons-io-1.4.jar est nécessaire au bon fonctionnement de l'API. Elle doit dont être inclue dans le projet cible.
Initialisation de l'API création des services
import org.milimail.messageRemoteServiceAPI.init.*; import org.milimail.messageRemoteServiceAPI.compose.*; import org.milimail.messageRemoteServiceAPI.account.*; public static void main(String[] args) { ServiceCreator serviceCreator = API.init(); MessageComposeServiceProxy composeService = serviceCreator.createMessageComposeService(); AccountServiceProxy accountService = serviceCreator.createAccountService(); }
Account Service
//Call to the running Thunderbird, Get all Accounts for the current profile List<Account> accounts = accountService.GetAllAccounts(); for (Account account : accounts) { //Server Imap Name String serverName = account.getServerHostName(); //Account Id String key = account.getKey(); System.out.println(serverName + " " + key); }
Compose Service
Envoyer un message simple à un destinaire
ServiceCreator serviceCreator = API.init(); MessageComposeServiceProxy composeService = serviceCreator.createMessageComposeService(); AccountServiceProxy accountService = serviceCreator.createAccountService(); //Simple implementation of MessageSendListener interface which print the Send status MessageSendListener messageListener = serviceCreator .createMessageSendListener(new MessageSendListenerServantConsole()); //Take the second Thunderbird's account for the current profile Account account = accountService.GetAllAccounts().get(1); //Create the message to send Message message = new Message(); message.setSubject("Subject from API"); message.setBody("body from API"); String[] to = { "user2@test.milimail.org" }; message.setTo(to); //Call to Thunderbird, Callback to messageListener (print status to console) composeService.sendMessage(account, message, messageListener);
- Crypt message
Security security = new Security(); security.setCrypted(true); message.setSecurity(security);
- Sign message
Security security = new Security(); security.setSigned(true); message.setSecurity(security);
- Header
List<Header> headers = new ArrayList<Header>(); Header header0 = new Header(); header0.setKey("X-MRS-TEST-1"); header0.setValue("X-MRS-VALUE-1"); message.setHeaders(headers);
- MDN Read receipt
Notification notification = new Notification(); notification.setMDNReadRequested(true); message.setNotification(notification);
- DSN Delivery receipt
//Only with milimail (thunderbird 2.x patched) Notification notification = new Notification(); notification.setDSNRequested(true); DSNType type = new DSNType(); //RET=FULL sinon RET=HDRS type.setReturnFullHDRRequested(true); //Vous pouvez mixer ces trois options type.setOnSuccessRequested(true); type.setOnDelayRequested(true); type.setOnFailureRequested(true); notification.setDsnType(type); message.setNotification(notification);
//Seulement avec milimail ou thunderbird 2.x patché Notification notification = new Notification(); notification.setDSNRequested(true); DSNType type = new DSNType(); //RET=FULL sinon RET=HDRS type.setReturnFullHDRRequested(false); //NOTIFY=NEVER type.setNeverRequested(true); notification.setDsnType(type); message.setNotification(notification);
- Attachments
List<Attachment> attachments = new ArrayList<Attachment>(); Attachment attachment0 = new Attachment(); attachment0 = new Attachment(); attachment0.setDirPath("/tmp/res/"); attachment0.setFileName("attachment1.txt"); attachment0.setMimeType("text/plain"); attachments.add(attachment0); message.setAttachments(attachments);
Reference: English – Translations: Français •




