Ir al contenido
Otras versiones

Cargando…

Mail samples

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.

Descripción:

Método Valores de retorno Descripción
createMail(Mail 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:

  • size (tamaño del correo en bytes).
  • from (cuenta de origen del correo).
  • reply, to, cc, bcc (cuentas de correo opcionales).
  • sendDate (fecha de envío del correo).
  • receivedDate (fecha de recepción del correo).
  • subject (asunto del correo).
  • content (el contenido del correo).
  • mimeType (tipo MIME HTML o texto).
  • headers (las cabeceras del correo son opcionales).
  • raw (el contenido en bruto del correo es opcional).
  • origin (origen msg, eml, api, pop3, imap)
  • title (título del correo)

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);
mail.setOrigin(Mail.ORIGIN_API);
// 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;
}
}

Descripción:

Método Valores de retorno Descripción
getMailProperties(String mailId) Mail 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();
}
}
}

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
purgeMail(String mailId) void El correo se elimina permanentemente 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 del 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();
}
}
}

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
moveMail(String mailId, String dstId) void Mueve 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.

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();
}
}
}

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 conserva 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();
}
}
}

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 junto 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:

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, null);
} catch (Exception e) {
e.printStackTrace();
}
}
}

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();
}
}
}

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();
}
}
}

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();
}
}
}

Descripción:

Método Valores de retorno Descripción
createAttachment(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.commons.io.IOUtils;
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 {
InputStream is = new FileInputStream("/home/files/logo.png");
ws.createAttachment("064ff51a-b815-4f48-a096-b4946876784f", "log.png", is);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

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

El valor del parámetro docId puede ser un UUID o una ruta (path) válidos de documento.

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.deleteAttachment("064ff51a-b815-4f48-a096-b4946876784f", "f123a950-0329-4d62-8328-0ff500fd42db");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getAttachments(String mailId) List Recupera una lista de todos los documentos adjuntos del correo.

Ejemplo:

package com.openkm;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
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 (Document doc : ws.getAttachments("064ff51a-b815-4f48-a096-b4946876784f")) {
System.out.println(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
sendMailWithAttachments(List to, List cc, List bcc, String subject, String body, List docsId, String dstId) void Envía un mensaje de correo con adjuntos.

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:

  • to es una lista de cuentas de correo destinatarias.
  • subject es el asunto del correo.
  • cc, bcc son una lista de cuentas de correo de destino (opcional)
  • docsId es una lista de UUID de documentos válidos ya existentes en OpenKM que se enviarán como adjuntos en el correo (opcional).

Ejemplo:

package com.openkm;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
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 {
List<String> to = Arrays.asList("destination@mail.com");
List<String> cc = new ArrayList<>();
List<String> bcc = new ArrayList<>();
List<String> docsId = Arrays.asList("f123a950-0329-4d62-8328-0ff500fd42db","/ok
m:root/logo.png");
ws.sendMailWithAttachments(to, cc, bcc, "some subject", "some body", docsId, "/okm:root/tmp");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
importEml(String dstId, String title, InputStream is) Mail 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 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.eml");
Mail mail = ws.importEml("d88cff0d-903a-4c5a-82ea-8e6dbd100d65", "some title", is);
System.out.println(mail);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
importMsg(String dstId, String title, InputStream is) Mail 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", "some title", is);
System.out.println(mail);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
setMailTitle(String mailId, String title) void Establece el título 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 {
ws.setMailTitle("68ed7a93-005c-4ec6-ac01-bb151573c775", "new title");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
sendMail(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.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 {
StringBuffer body = new StringBuffer();
body.append("Test message body.");
List<String> recipients = new ArrayList<>();
recipients.add("some@mail.com");
ws.sendMail(recipients, "Testing sending mail from OpenKM", body.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}