Skip to content
Other versions

Loading…

Mail samples

On almost methods you’ll see parameter named “mailId”. The value of this parameter can be a valid mail UUID or path.

Description:

Method Return values Description
createMail(Mail mail) Mail Creates a new mail and returns as a result an object Mail.
  • The variable path into the parameter mail must be initialized. It indicates the folder path into OpenKM.
  • Other mandatory variables:

Example:

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

Description:

Method Return values Description
getMailProperties(String mailId) Mail Returns the mail properties.

Example:

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

Description:

Method Return values Description
deleteMail(String mailId) void Deletes a mail.

Example:

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

Description:

Method Return values Description
purgeMail(String mailId) void Mail is definitely removed from the repository.
  • Usually, you will purge mails into /okm:trash/userId - the personal trash user locations - but it is possible to directly purge any mail from the whole repository.

Example:

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

Description:

Method Return values Description
renameMail(String mailId, String newName) void Rename a mail.

Example:

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

Description:

Method Return values Description
moveMail(String mailId, String dstId) void Move mail into a folder.

Example:

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

Description:

Method Return values Description
public void copyMail(String mailId, String dstId, String newName) void Copies mail into a folder.
  • The values of the dstId parameter should be a folder UUID or path.
  • When parameter newName value is null, mail will preserve the same name.

Example:

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

Description:

Method Return values Description
extendedMailCopy(String mailId, String dstId, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolean wiki) void Copy mail width with associated data into a folder.
  • The values of the dstId parameter should be a folder UUID or path.

Example:

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

Description:

Method Return values Description
getMailChildren(String fldId) List Returns a list of all mails which their parent is fldId.

Example:

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

Description:

Method Return values Description
isValidMail(String mailId) Boolean Returns a boolean that indicates if the node is a mail or not.

Example:

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

Description:

Method Return values Description
getMailPath(String uuid) String Converts mail UUID to mail path.

Example:

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

Description:

Method Return values Description
importEml(String dstId, InputStream is) Mail Import a mail in EML format.
  • The values of the dstId parameter should be a folder or record UUID or path. The dstId parameter indicates where the mail will be stored in the repository after is imported.

Example:

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

Description:

Method Return values Description
importMsg(String dstId, InputStream is) Mail Import a mail in MSG format.
  • The values of the dstId parameter should be a folder or record UUID or path. The dstId parameter indicate where the mail will be stored in the repository after is sent.

Example:

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