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:
package com.openkm;
import java.util.Arrays;import java.util.Calendar;
import org.owasp.encoder.Encode;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Mail;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices 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.setPath(mailPath); // Other format for mail "some name <no_reply@openkm.com>" mail.setFrom("<no_reply@openkm.com>"); mail.setTo((String[])Arrays.asList("anonymous@gmail.com").toArray()); // You should set real dates mail.setSentDate(Calendar.getInstance()); mail.setReceivedDate(Calendar.getInstance()); mail.setContent("some content"); mail.setMimeType(Mail.MIME_TEXT); mail.setSubject(subject); // Get only as an approximation of real size for these sample mail.setSize(mail.toString().getBytes("UTF-8").length); ws.createMail(mail); } catch (Exception e) { e.printStackTrace(); } }
private static String escape(String name) { String ret = cleanup(name);
// Fix XSS issues ret = Encode.forHtml(ret);
return ret; }
private static String cleanup(String name) { String ret = name.replace("/", ""); ret = ret.replace("*", ""); ret = ret.replaceAll("\\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:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { System.out.println(ws.getMailProperties("064ff51a-b815-4f48-a096-b4946876784f")); } catch (Exception e) { e.printStackTrace(); } }}deleteMail
Sección titulada «deleteMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteMail(String mailId) | void | Elimina un correo. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.deleteMail("064ff51a-b815-4f48-a096-b4946876784f"); } catch (Exception e) { e.printStackTrace(); } }}purgeMail
Sección titulada «purgeMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| purgeMail(String mailId) | void | El correo 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:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.purgeMail("064ff51a-b815-4f48-a096-b4946876784f"); } catch (Exception e) { e.printStackTrace(); } }}renameMail
Sección titulada «renameMail»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| renameMail(String mailId, String newName) | void | Renombra un correo. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.renameMail("064ff51a-b815-4f48-a096-b4946876784f","new name"); } catch (Exception e) { e.printStackTrace(); } }}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. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.moveMail("064ff51a-b815-4f48-a096-b4946876784f","/okm:root/tmp"); } catch (Exception e) { e.printStackTrace(); } }}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. |
- El valor del parámetro dstId debe ser un UUID o una ruta (path) de carpeta.
- Cuando el valor del parámetro newName es null, el correo conservará el mismo nombre.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.copyMail("064ff51a-b815-4f48-a096-b4946876784f","/okm:root/temp","new_name"); } catch (Exception e) { e.printStackTrace(); } }}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) | void | Copia un correo junto con los datos asociados a una carpeta. |
- El valor del parámetro dstId debe ser un UUID o una ruta (path) de carpeta.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { ws.extendedMailCopy("064ff51a-b815-4f48-a096-b4946876784f", "/okm:root/tmp", true, true, true, true, true); } catch (Exception e) { e.printStackTrace(); } }}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:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Mail;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { for (Mail mail : ws.getMailChildren("/okm:root")) { System.out.println(mail); } } catch (Exception e) { e.printStackTrace(); } }}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:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { // Return false ws.isValidMail("/okm:root/logo.png"); // Return true ws.isValidMail("064ff51a-b815-4f48-a096-b4946876784f"); } catch (Exception e) { e.printStackTrace(); } }}getMailPath
Sección titulada «getMailPath»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getMailPath(String uuid) | String | Convierte el UUID de un correo en su ruta. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { System.out.println(ws.getMailPath("064ff51a-b815-4f48-a096-b4946876784f")); } catch (Exception e) { e.printStackTrace(); } }}importEml
Sección titulada «importEml»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| importEml(String dstId, InputStream is) | 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 importarse.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Mail;import org.apache.commons.io.IOUtils;
import java.io.FileInputStream;import java.io.InputStream;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { InputStream is = new FileInputStream("/home/files/test.eml"); Mail mail = ws.importEml("d88cff0d-903a-4c5a-82ea-8e6dbd100d65", is); System.out.println(mail); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}importMsg
Sección titulada «importMsg»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| importMsg(String dstId, InputStream is) | 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:
package com.openkm;
import java.io.FileInputStream;import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Mail;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { InputStream is = new FileInputStream("/home/files/test.msg"); Mail mail = ws.importMsg("d88cff0d-903a-4c5a-82ea-8e6dbd100d65", is); System.out.println(mail); IOUtils.closeQuietly(is); } catch (Exception e) { e.printStackTrace(); } }}