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 un UUID de correo válido.

Sobre el parámetro llamado “fldId”, el valor de este parámetro puede ser un UUID de carpeta válido o un nodo de record.

Además, en todos los métodos verá un parámetro llamado “token”. Como la Cron Task se ejecuta en segundo plano sin autenticación, los métodos usados en ese escenario pueden usar el parámetro token. En el contexto de ejecución por defecto de la aplicación debe usar el valor “null”, que indica que la aplicación debe usar la “sesión de usuario”.

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;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
Mail mail = okmMail.getProperties(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75");
System.out.println(mail);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
createAttachment(String token, String mailId, String docName, InputStream is) Document Añade un adjunto al correo.

Ejemplo:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.poi.util.IOUtils;
import com.openkm.api.OKMMail;
import com.openkm.bean.Document;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
InputStream is = null;
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
is = new FileInputStream("/home/openkm/sample.pdf");
Document doc = okmMail.createAttachment(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75", "sample.pdf", is);
System.out.println(doc);
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(is);
}
}
}

Descripción:

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

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
okmMail.deleteAttachment(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75", "c98d704f-c9f2-4f75-9923-878300b36b52");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getAttachments(String token, String mailId) List Devuelve una lista de todos los adjuntos de un correo.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.bean.Document;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
for (Document doc : okmMail.getAttachments(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75")) {
System.out.println(doc);
}
} 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.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
okmMail.delete(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
purge(String token, String mailId) void El correo se elimina permanentemente del repositorio.
  • Habitualmente purgará correos dentro de /okm:trash/userId -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;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
okmMail.purge(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75");
} 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.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
okmMail.rename(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75", "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 o record.
  • El valor del parámetro dstId debería ser un UUID de carpeta o record.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
okmMail.move(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75", "3636f3bb-779c-4851-b145-0d53e0702b0f");
} 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 a una carpeta o record.
  • El valor del parámetro dstId debería ser un UUID de carpeta o record.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
okmMail.copy(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75", "3636f3bb-779c-4851-b145-0d53e0702b0f");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
copy(String token, String mailId, String dstId, String newName) void Copia un correo a una carpeta o record.
  • El valor del parámetro dstId debería ser un UUID de carpeta o record.
  • Cuando el valor del parámetro newName es null, el correo conservará el mismo nombre.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
okmMail.copy(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75", "3636f3bb-779c-4851-b145-0d53e0702b0f", "newname");
} 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 sus datos asociados a una carpeta o record.
  • El valor del parámetro dstId debería ser un UUID de carpeta o record.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.bean.ExtendedAttributes;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
ExtendedAttributes extAttr = new ExtendedAttributes();
extAttr.setNotes(true);
extAttr.setKeywords(true);
extAttr.setCategories(true);
extAttr.setPropertyGroups(true);
okmMail.extendedCopy(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75", "3636f3bb-779c-4851-b145-0d53e0702b0f", extAttr);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
extendedCopy(String token, String mailId, String dstId, ExtendedAttributes extAttr, String newName) void Copia un correo con sus datos asociados a una carpeta o record.
  • El valor del parámetro dstId debería ser un UUID de carpeta o record.
  • Cuando el valor del parámetro newName es null, el correo conservará el mismo nombre.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.bean.ExtendedAttributes;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
ExtendedAttributes extAttr = new ExtendedAttributes();
extAttr.setNotes(true);
extAttr.setKeywords(true);
extAttr.setCategories(true);
extAttr.setPropertyGroups(true);
okmMail.extendedCopy(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75", "3636f3bb-779c-4851-b145-0d53e0702b0f", extAttr, "new_name");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

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

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.bean.Mail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
for (Mail mail : okmMail.getChildren(null, "3636f3bb-779c-4851-b145-0d53e0702b0f")) {
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 booleano que indica si el nodo es un correo o no.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
boolean valid = okmMail.isValid(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75");
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;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
String path = okmMail.getPath(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75");
System.out.println(path);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
sendMail(String token, List recipients, String subject, String body) void Envía un correo.

Ejemplo:

package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.api.OKMMail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
StringBuffer body = new StringBuffer();
body.append("Test message body.");
List<String> recipients = new ArrayList<>();
recipients.add("gnu.java.sergio@gmail.com");
okmMail.sendMail(null, recipients, "Testing sending mail from OpenKM", body.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
setTitle(String token, String mailId, String title) void Establece el título del correo.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
okmMail.setTitle(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75", "new title");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
sendMailWithAttachments(String token, List toRecipients, List ccRecipients, List bccRecipients,
List replyToMails, String subject, String body, List docsId, String dstId)
Mail Envía un mensaje de correo con adjuntos.
  • El valor del parámetro dstId debería ser un UUID de carpeta o record. El parámetro dstId indica dónde se almacenará el correo en el repositorio tras enviarse.
  • Otros parámetros:

Ejemplo:

package com.openkm;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.openkm.api.OKMMail;
import com.openkm.bean.Mail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
List<String> toRecipients = Arrays.asList("gnujavasergio@mail.com");
List<String> ccRecipients = new ArrayList<>();
List<String> bccRecipients = new ArrayList<>();
List<String> replyToMails = new ArrayList<>();
List<String> docsId = Arrays.asList("b153c4b7-3d1c-4589-bd42-0ed0f34fd338", "d168924d-e801-426d-a222-00124a1461bd");
Mail mail = okmMail.sendMailWithAttachments(null, toRecipients, ccRecipients, bccRecipients, replyToMails,
"some subject", "some body", docsId, "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474");
System.out.println(mail);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
importEml(String fldId, String title, InputStream is) Mail Importa un correo en formato EML.
  • El valor del parámetro fldId debería ser un UUID de carpeta o record. El parámetro fldId indica dónde se almacenará el correo en el repositorio tras importarse.

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;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
InputStream is = null;
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
is = new FileInputStream("/home/openkm/sample1.eml");
Mail mail = okmMail.importEml(null, "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474", "some title", 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 fldId, String title, InputStream is) Mail Importa un correo en formato MSG.
  • El valor del parámetro fldId debería ser un UUID de carpeta o record. El parámetro fldId indica dónde se almacenará el correo en el repositorio tras importarse.

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;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
InputStream is = null;
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
is = new FileInputStream("/home/openkm/test subject.msg");
Mail mail = okmMail.importMsg(null, "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474", "some title", is);
System.out.println(mail);
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(is);
}
}
}

Descripción:

Método Valores de retorno Descripción
setNodeClass(String token, String uuid, long ncId) void Establece el NodeClass.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
long ncId = 2;
okmMail.setNodeClass(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", ncId);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
setDispositionStage(String token, String uuid, long stage) void Establece la etapa de disposición

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
long stage = 1;
okmMail.setDispositionStage(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75", stage);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
setDescription(String token, String uuid, String description) void Establece la descripción.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;
import com.openkm.bean.Mail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
okmMail.setDescription(null, "0747c0cb-5e4a-4088-92a9-ab97b401af75", "some description");
Mail mail = okmMail.getProperties(null, "b0747c0cb-5e4a-4088-92a9-ab97b401af75");
System.out.println(mail);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getContent(String token, String mailId) InputStream Obtiene el contenido del correo (datos binarios).

Ejemplo:

package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMMail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
OutputStream fos = new FileOutputStream("/home/openkm/test.eml");
InputStream is = okmMail.getContent(null, "b405a504-d8cb-4166-ac51-22f68acee8c5");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
createWizard(String token, String path, String title, InputStream is, String type) WizardNode Crea un nuevo correo con un asistente (wizard).
  • El parámetro path debe ser cualquier PATH válida de carpeta o record.
  • Tipos disponibles:

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;
import com.openkm.bean.WizardNode;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
InputStream is = new FileInputStream("/home/openkm/sample2.eml");
WizardNode wn = okmMail.createWizard(null, "/okm:root/test", "test title", is, Mail.ORIGIN_EML);
System.out.print(wn);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getExtractedText(String token, String uuid) String Devuelve una cadena con el texto extraído por el proceso extractor de texto.
  • Cuando se sube un documento a OpenKM, entra en la cola de extracción de texto. Hay una tarea crontab que procesa periódicamente esta cola y extrae el contenido de los documentos.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMMail;import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
String text = okmMail.getExtractedText(null, "46762f90-82c6-4886-8d21-ad3017dd78a7");
System.out.println(text);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
forwardEmail(String token, String uuid, List users, List roles, List mails, String message) void Reenvía un correo a una lista de usuarios, roles o direcciones de correo externas.

Ejemplo:

package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.api.OKMMail;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
String mailUuid = "f123a950-0329-4d62-8328-0ff500fd42db";
List<String> users = new ArrayList<>();
users.add("userTest");
List<String> roles = new ArrayList<>();
roles.add("ROLE_USER");
List<String> mails = new ArrayList<>();
mails.add("test@none.com");
okmMail.forwardEmail(null, mailUuid, users, roles, mails, "Any message");
} catch (Exception e) {
e.printStackTrace();
}
}
}