Mail samples
Aspectos básicos
Sección titulada «Aspectos básicos»En la mayoría de los métodos verá el parámetro llamado “mailId”. El valor de este parámetro puede ser un UUID o una ruta (path) válidos de correo.
Métodos
Sección titulada «Métodos»createMail
Sección titulada «createMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createMail(Mail mail) | Crea un nuevo correo y devuelve como resultado un objeto Mail. |
- La variable path del parámetro mail debe inicializarse. Indica la ruta de la carpeta dentro de OpenKM.
- Otras variables obligatorias:
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using System.Net;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { Mail mail = new Mail(); // Mail path = msgId + escaped(subject) String msgId = "2937b81d-0b10-4dd0-a426-9acbd80be1c9"; String subject = "some subject"; String mailPath = "/okm:root/" + msgId + "-" + escape(subject); mail.path = mailPath; // Other format for mail "some name <no_reply@openkm.com>" mail.from = "<no_reply@openkm.com>"; String[] to = new String[] { "anonymous@gmail.com" }; mail.to = to; // You should set real dates mail.sentDate = DateTime.Now; mail.receivedDate = DateTime.Now; mail.content = "some content"; mail.mimeType = Mail.MIME_TEXT; mail.subject = subject; mail.origin = Mail.ORIGIN_API; // Get only as an approximation of real size for these sample mail.size = mail.toString().Length; ws.createMail(mail); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } }
private static String escape(String name) { String ret = cleanup(name); // Fix XSS issues ret = WebUtility.HtmlEncode(name); return ret; }
private static String cleanup(String name) { String ret = name.Replace("/", ""); ret = ret.Replace("*", ""); ret = ret.Replace("\\s+", " ").Trim(); return ret; } }}getMailProperties
Sección titulada «getMailProperties»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getMailProperties(String mailId) | Devuelve las propiedades del correo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { System.Console.WriteLine(ws.getMailProperties("50b7a5b9-89d2-430e-bbc9-6a6e01662a71")); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}deleteMail
Sección titulada «deleteMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteMail(String mailId) | void | Elimina un correo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.deleteMail("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}purgeMail
Sección titulada «purgeMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| purgeMail(String mailId) | void | La carpeta se elimina definitivamente del repositorio. |
- Normalmente se purgan correos en /okm:trash/userId - las ubicaciones personales de la papelera de cada usuario - pero es posible purgar directamente cualquier correo de todo el repositorio.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.purgeMail("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}renameMail
Sección titulada «renameMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| renameMail(String mailId, String newName) | void | Renombra un correo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.renameMail("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "new name"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}moveMail
Sección titulada «moveMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| moveMail(String mailId, String dstId) | void | Mueve un correo a una carpeta o expediente. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.moveMail("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "/okm:root/tmp"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}copyMail
Sección titulada «copyMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| public void copyMail(String mailId, String dstId, String newName) | void | Copia un correo a una carpeta o expediente. |
- El valor del parámetro dstId debe ser un UUID o una ruta (path) de carpeta o de expediente.
- Cuando el valor del parámetro newName es null, el correo conservará el mismo nombre.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.copyMail("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "/okm:root/tmp", "new_name"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}extendedMailCopy
Sección titulada «extendedMailCopy»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| extendedMailCopy(String mailId, String dstId, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolean wiki, String newName) |
void | Copia un correo con los datos asociados a una carpeta o expediente. |
- El valor del parámetro dstId debe ser un UUID o una ruta (path) de carpeta o de expediente.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.extendedMailCopy("fe51797c-be0b-4076-8f4b-b4fffe8fd2bc", "/okm:root/tmp", true, true, true, true, true, null); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getMailChildren
Sección titulada «getMailChildren»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getMailChildren(String fldId) | List |
Devuelve una lista de todos los correos cuyo padre es fldId. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (Mail mail in ws.getMailChildren("/okm:root/")) { System.Console.WriteLine(mail); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}isValidMail
Sección titulada «isValidMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| isValidMail(String mailId) | Boolean | Devuelve un booleano que indica si el nodo es un correo o no. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Return false ws.isValidMail("/okm:root/logo.png"); // Return true ws.isValidMail("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getMailPath
Sección titulada «getMailPath»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getMailPath(String uuid) | String | Convierte un UUID de correo en una ruta de carpeta. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { System.Console.WriteLine(ws.getMailPath("50b7a5b9-89d2-430e-bbc9-6a6e01662a71")); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}createAttachment
Sección titulada «createAttachment»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| createAttachment(String mailId, String docName, InputStream is) | Document | Almacena un adjunto en el correo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using System.IO;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { FileStream fs = new FileStream("E:\\logo.png", FileMode.Open); ws.createAttachment("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "log.png", fs); fs.Dispose(); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}deleteAttachment
Sección titulada «deleteAttachment»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteAttachment(String mailId, String docId) | void | Elimina un adjunto de un correo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.deleteAttachment("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "e339f14b-4d3a-489c-91d3-05e4575709d2"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getAttachments
Sección titulada «getAttachments»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getAttachments(String mailId) | List |
Recupera una lista de todos los documentos adjuntos de un correo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (Document doc in ws.getAttachments("50b7a5b9-89d2-430e-bbc9-6a6e01662a71")) { System.Console.WriteLine(doc); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}sendMailWithAttachments
Sección titulada «sendMailWithAttachments»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| sendMailWithAttachments(String from, List |
void | Envía un mensaje de correo con un adjunto. |
- El valor del parámetro dstId debe ser un UUID o una ruta (path) de carpeta o de expediente. El parámetro dstId indica dónde se almacenará el correo en el repositorio tras enviarse.
- Otros parámetros:
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { String from ="Test@openkm.com"; List<String> to = new List<String>(); to.Add("destination@mail.com"); List<String> cc = new List<String>(); List<String> bcc = new List<String>(); List<String> docsId = new List<String>(); docsId.Add("7aa523e0-06cf-4733-b8c8-cc74d8b2716d"); docsId.Add("/okm:root/logo.png"); ws.sendMailWithAttachments(from, to, cc, bcc, "some subject", "E:\\test.txt", docsId, "/okm:root/tmp"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}importEml
Sección titulada «importEml»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| importEml(String dstId, String title, FileStream fs) | Importa un correo en formato EML. |
- El valor del parámetro dstId debe ser un UUID o una ruta (path) de carpeta o de expediente. El parámetro dstId indica dónde se almacenará el correo en el repositorio tras enviarse.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using System.IO;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { FileStream filestream = new FileStream("C:\\Documents\\test.eml", FileMode.Open); Mail mail = ws.importEml("/okm:root/test", "Test", filestream); System.Console.WriteLine(mail); filestream.Close(); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}importMsg
Sección titulada «importMsg»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| importMsg(String dstId, String title, FileStream fs) | Importa un correo en formato MSG. |
- El valor del parámetro dstId debe ser un UUID o una ruta (path) de carpeta o de expediente. El parámetro dstId indica dónde se almacenará el correo en el repositorio tras enviarse.
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using System.IO;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { FileStream filestream = new FileStream("C:\\Documents\\test.msg", FileMode.Open); Mail mail = ws.importMsg("/okm:root/test", "Test", filestream); System.Console.WriteLine(mail); filestream.Close(); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}setMailTitle
Sección titulada «setMailTitle»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| setMailTitle(String mailId, String title) | Establece el título del correo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.setMailTitle("68ed7a93-005c-4ec6-ac01-bb151573c775", "new title"); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}sendMail
Sección titulada « sendMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| sendMail(List |
Void | Envía un correo. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { List<String> recipients = new List<string>(); recipients.Add("some@mail.com"); ws.sendMail(recipients, "Testing sending mail from OpenKM", "Test message body."); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}