Ir al contenido
Otras versiones

Cargando…

OKMMail

En casi todos los métodos verá un parámetro llamado “mailId”. El valor de este parámetro puede ser el UUID o la ruta de un correo válido.

Respecto al parámetro llamado “dstId”, su valor puede ser el UUID o la ruta de una carpeta válida.

Respecto al parámetro llamado “fldId”, su valor puede ser el UUID o la ruta de una carpeta válida.

Además, en todos los métodos verá un parámetro llamado “token”. Al acceder a la aplicación a través de SOAP, el proceso de inicio de sesión devuelve un token, que se utiliza para identificar al usuario en todos los métodos expuestos. Desde el contexto de ejecución por defecto de la aplicación debe utilizar el valor “null”, que indica a la aplicación que debe utilizar la “sesión del usuario”.

Descripción:

Método Valores de retorno Descripción
create(String token, Mail mail) Mail Crea un nuevo correo y devuelve como resultado un objeto Mail.
  • La variable path del parámetro mail debe estar inicializada. Indica la ruta de la carpeta en OpenKM.
  • Otras variables obligatorias:

Ejemplo:

package com.openkm;
import java.util.Arrays;
import java.util.Calendar;
import org.owasp.encoder.Encode;
import com.openkm.api.OKMMail;
import com.openkm.bean.Mail;
public class Test {
public static void main(String[] args) {
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);
OKMMail.getInstance().create(null, 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;
}
}

Descripción:

Método Valores de retorno Descripción
getProperties(String token, String mailId) Mail Devuelve las propiedades del correo.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.bean.Mail;
public class Test {
public static void main(String[] args) {
try {
Mail mail = OKMMail.getInstance().getProperties(null, "064ff51a-b815-4f48-a096-b4946876784f");
System.out.println(mail);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
delete(String token, String mailId) void Elimina un correo.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.bean.Folder;
public class Test {
public static void main(String[] args) {
try {
OKMMail.getInstance().delete(null, "064ff51a-b815-4f48-a096-b4946876784f");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
purge(String token, String mailId) void El correo se elimina definitivamente del repositorio.
  • Normalmente purgará correos de /okm:trash/userId (las ubicaciones de la papelera personal del usuario), pero es posible purgar directamente cualquier correo de todo el repositorio.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
public class Test {
public static void main(String[] args) {
try {
OKMMail.getInstance().purge(null, "064ff51a-b815-4f48-a096-b4946876784f");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
rename(String token, String mailId, String newName) Mail Renombra un correo.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.bean.Folder;
public class Test {
public static void main(String[] args) {
try {
OKMMail.getInstance().rename(null, "064ff51a-b815-4f48-a096-b4946876784f", "newname");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
move(String token, String mailId, String dstId) void Mueve un correo 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.api.OKMMail;
import com.openkm.bean.Folder;
public class Test {
public static void main(String[] args) {
try {
OKMMail.getInstance().move(null, "064ff51a-b815-4f48-a096-b4946876784f", "/okm:root/move/destination");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
copy(String token, String mailId, String dstId) void Copia un correo en 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.api.OKMMail;
import com.openkm.bean.Folder;
public class Test {
public static void main(String[] args) {
try {
OKMMail.getInstance().copy(null, "064ff51a-b815-4f48-a096-b4946876784f", "/okm:root/move/destination");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
extendedCopy(String token, String mailId, String dstId, ExtendedAttributes extAttr) void Copia un correo con los datos asociados en 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.api.OKMMail;
import com.openkm.bean.ExtendedAttributes;
public class Test {
public static void main(String[] args) {
try {
ExtendedAttributes extAttr = new ExtendedAttributes();
extAttr.setKeywords(true);
OKMMail.getInstance().extendedCopy(null, "064ff51a-b815-4f48-a096-b4946876784f","/okm:root/test", extAttr);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getChilds(String token, String fldId) List Devuelve una lista con todos los correos cuyo padre es mailId.
  • El parámetro mailId puede ser una carpeta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.bean.Mail;
public class Test {
public static void main(String[] args) {
try {
for (Mail mail : OKMMail.getInstance().getChilds(null, "/okm:root/test")) {
System.out.println(mail);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getChildren(String token, String fldId) List Devuelve una lista con todos los correos cuyo padre es mailId.
  • El parámetro mailId puede ser una carpeta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.bean.Mail;
public class Test {
public static void main(String[] args) {
try {
for (Mail mail : OKMMail.getInstance().getChildren(null, "/okm:root/test")) {
System.out.println(mail);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
isValid(String token, String mailId) boolean Devuelve un valor booleano que indica si el nodo es un correo o no.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
public class Test {
public static void main(String[] args) {
try {
boolean valid = OKMMail.getInstance().isValid(null, "064ff51a-b815-4f48-a096-b4946876784f");
System.out.println(valid);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getPath(String token, String uuid) String Convierte el UUID de una carpeta en la ruta de un correo.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
public class Test {
public static void main(String[] args) {
try {
String path = OKMMail.getInstance().getPath(null, "064ff51a-b815-4f48-a096-b4946876784f");
System.out.println(path);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
importEml(String path, InputStream is) Mail Importa un correo en formato EML.
  • El valor del parámetro path debe ser una ruta de carpeta. El parámetro path indica dónde se almacenará el correo en el repositorio después de ser importado.

Ejemplo:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMMail;
import com.openkm.bean.Mail;
public class Test {
public static void main(String[] args) {
InputStream is = null;
try {
is = new FileInputStream("/home/files/test.eml");
Mail mail = OKMMail.getInstance().importEml("d88cff0d-903a-4c5a-82ea-8e6dbd100d65", is);
System.out.println(mail);
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(is);
}
}
}

Descripción:

Método Valores de retorno Descripción
importMsg(String path, InputStream is) Mail Importa un correo en formato MSG.
  • El valor del parámetro path debe ser una ruta de carpeta. El parámetro path indica dónde se almacenará el correo en el repositorio después de ser importado.

Ejemplo:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMMail;
import com.openkm.bean.Mail;
public class Test {
public static void main(String[] args) {
InputStream is = null;
try {
is = new FileInputStream("/home/files/test.msg");
Mail mail = OKMMail.getInstance().importMsg("d88cff0d-903a-4c5a-82ea-8e6dbd100d65", is);
System.out.println(mail);
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(is);
}
}
}