Mail samples
Aspectos básicos
Sección titulada «Aspectos básicos»En casi todos los métodos verá un 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()); } } }}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()); } } }}