Skip to content
Other versions

Loading…

Mail samples

First, you must create the webservice object:

OKMWebservices ws = OKMWebservicesFactory.getInstance(host);

Then should login using the method “login”. You can access the “login” method from webservice object “ws” as is shown below:

ws.login(user, password);

At this point you can use all the Mail methods from “mail” class as is shown below:

ws.mail.getMailProperties("05d9b8e3-f9c1-4ace-9007-afd775dbbced")

Description:

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

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.mail.getMailProperties("05d9b8e3-f9c1-4ace-9007-afd775dbbced"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

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

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.mail.deleteMail("05d9b8e3-f9c1-4ace-9007-afd775dbbced");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
purgeMail(String uuid) void Mail is definitely removed from 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.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.mail.purgeMail("05d9b8e3-f9c1-4ace-9007-afd775dbbced");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

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

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.mail.renameMail("e3831cc4-30f0-419a-8fbf-a3418472ada5", "new name");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

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

The values of the dstId parameter should be a folder or record UUID.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.mail.moveMail("e3831cc4-30f0-419a-8fbf-a3418472ada5", "ada67d44-b081-4b23-bdc1-74181cafbc5d");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
public void copyMail(String uuid, String dstId, String newName) void Copies mail into a folder or record.

The values of the dstId parameter should be a folder or record UUID.

When parameter newName value is null, mail will preserve the same name.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.mail.copyMail("e3831cc4-30f0-419a-8fbf-a3418472ada5", "ada67d44-b081-4b23-bdc1-74181cafbc5d", "new_name");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
extendedMailCopy(String uuid, String dstId, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolena security, String newName) Mail Copy mail width with associated data into a folder or record.

The values of the dstId parameter should be a folder or record UUID.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Mail;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Mail mail = ws.mail.extendedMailCopy("e3831cc4-30f0-419a-8fbf-a3418472ada5", "ada67d44-b081-4b23-bdc1-74181cafbc5d", true, true, true, true, true, null);
System.out.println(mail);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

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

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Mail;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
for (Mail mail : ws.mail.getMailChildren("ada67d44-b081-4b23-bdc1-74181cafbc5d")) {
System.out.println(mail);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

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

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
// Return false
System.out.println(ws.mail.isValidMail("ada67d44-b081-4b23-bdc1-74181cafbc5d"));
// Return true
System.out.println(ws.mail.isValidMail("e3831cc4-30f0-419a-8fbf-a3418472ada5"));
} 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.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.mail.getMailPath("e3831cc4-30f0-419a-8fbf-a3418472ada5"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
createAttachment(String uuid, String docName, InputStream is) Document Adds an attachement to the mail.

Example:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/logo.png");
ws.mail.createAttachment("e3831cc4-30f0-419a-8fbf-a3418472ada5", "logo.png", is);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
deleteAttachment(String uuid, String docId) void Delete a mail attachment.

The value of the parameter docId parameter can be a valid document UUID.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.mail.deleteAttachment("e3831cc4-30f0-419a-8fbf-a3418472ada5", "6dcb02dc-0881-4610-b2bc-a158ed7be0ee");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getAttachments(String uuid) List Retrieves a list of all the attachment documents of the mails.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
for (Document doc : ws.mail.getAttachments("e3831cc4-30f0-419a-8fbf-a3418472ada5")) {
System.out.println(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
sendMailWithAttachments(List to, List cc, List bcc, List replyTo, String subject, String body, List docsId, String uuid) void Send mail message with attachement.

The values of the uuid parameter should be a folder or record UUID. The uuid parameter indicate where the mail will be stored in the repository after is sent.

Other parameters:

  • to are a list of mail accounts destination.
  • subject is the mail subject.
  • cc, bcc, replyTo is a list of mail accounts destination ( optional )
  • docsId is a list of valid document UUID already into OpenKM that will be sent as an attachment into mail ( optional ).

Example:

package com.openkm;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
List<String> to = Arrays.asList("gnu.java.sergio@mail.com");
List<String> cc = new ArrayList<>();
List<String> bcc = new ArrayList<>();
List<String> replyTo = new ArrayList<>();
List<String> docsId = Arrays.asList("46762f90-82c6-4886-8d21-ad3017dd78a7", "8cd1e072-8595-4dd3-b121-41d622c43f08");
ws.mail.sendMailWithAttachments(to, cc, bcc, replyTo, "some subject", "some body", docsId, "85f07f05-1641-47e8-891f-0ea30643554e");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
sendMailWithAttachments(String from, List to, List cc, List bcc, List replyTo, String subject, String body, List docsId, String uuid) void Send mail message with attachement.

The values of the uuid parameter should be a folder or record UUID. The uuid parameter indicate where the mail will be stored in the repository after is sent.

Other parameters:

  • from is optional and maybe set with empty value
  • to are a list of mail accounts destination.
  • subject is the mail subject.
  • cc, bcc, replyTo is a list of mail accounts destination ( optional )
  • docsId is a list of valid document UUID already into OpenKM that will be sent as an attachment into mail ( optional ).

Example:

package com.openkm;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
String from = "some@nomail.com";
List<String> to = Arrays.asList("gnu.java.sergio@mail.com");
List<String> cc = new ArrayList<>();
List<String> bcc = new ArrayList<>();
List<String> replyTo = new ArrayList<>();
List<String> docsId = Arrays.asList("46762f90-82c6-4886-8d21-ad3017dd78a7", "8cd1e072-8595-4dd3-b121-41d622c43f08");
ws.mail.sendMailWithAttachments(from, to, cc, bcc, replyTo, "some subject", "some body", docsId, "85f07f05-1641-47e8-891f-0ea30643554e");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
importEml(String uuid, String title, InputStream is) Mail Import a mail in EML format.

The values of the uuid parameter should be a folder or record UUID. The uuid parameter indicates where the mail will be stored in the repository after is imported.

Example:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Mail;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/test.eml");
Mail mail = ws.mail.importEml("85f07f05-1641-47e8-891f-0ea30643554e", "some title", is);
System.out.println(mail);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
importMsg(String uuid, String title, InputStream is) Mail Import a mail in MSG format.

The values of the uuid parameter should be a folder or record UUID. The uuid parameter indicates 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.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Mail;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/test.msg");
Mail mail = ws.mail.importMsg("85f07f05-1641-47e8-891f-0ea30643554e", "some title", is);
System.out.println(mail);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
setMailTitle(String uuid, String title) void Sets the mail title.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.mail.setMailTitle("9d5dd110-db99-4d72-8cf7-610b027a4822", "new title");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
sendMail(List recipients, String subject, String body) void Sends a mail.

Example:

package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
StringBuffer body = new StringBuffer();
body.append("Test message body.");
List<String> recipients = new ArrayList<>();
recipients.add("some@mail.com");
ws.mail.sendMail(recipients, "Testing sending mail from OpenKM", body.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
sendMail(String from, List recipients, String subject, String body) void Sends a mail.

Other parameters:

  • from is optional and maybe set with empty value

Example:

package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
String from = "some@nomail.com";
StringBuffer body = new StringBuffer();
body.append("Test message body.");
List<String> recipients = new ArrayList<>();
recipients.add("some@mail.com");
ws.mail.sendMail(to, recipients, "Testing sending mail from OpenKM", body.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
setMailDispositionStage(String uuid, long stage) void Set the disposition stage

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
long stage = 1;
ws.mail.setMailDispositionStage("7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", stage);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
setMailDescription(String uuid, String description) void Set the description.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Mail;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.mail.setMailDescription("b405a504-d8cb-4166-ac51-22f68acee8c5", "some description");
Mail mail = ws.mail.getMailProperties("b405a504-d8cb-4166-ac51-22f68acee8c5");
System.out.println("Description: " + mail.getDescription());
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getMailContent(String mailId) InputStream Retrieve mail content - binary data - of the current mail version.

Example:

package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
OutputStream fos = new FileOutputStream("/home/openkm/test.eml");
InputStream is = ws.mail.getMailContent("b405a504-d8cb-4166-ac51-22f68acee8c5");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
createWizardMail(String uuid, String title, InputStream is, String type) WizardNode Create a new document with a wizard.

The parameters uuid should be any valid folder or record UUID.

Available types:

  • Mail.ORIGIN_MSG
  • Mail.ORIGIN_EML

Example:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Mail;
import com.openkm.sdk4j.bean.WizardNode;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/sample2.eml");
WizardNode wn = ws.mail.createWizardMail("4c195453-246b-4ce9-86ba-b84e68d1f284", "test title", is, Mail.ORIGIN_EML);
System.out.print(wn);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getMailThumbnail(String mailId, ThumbnailType type) InputStream Returns thumbnail image data.

Available types:

  • ThumbnailType.THUMBNAIL_PROPERTIES ( shown in properties view )
  • ThumbnailType.THUMBNAIL_LIGHTBOX ( shown in light box )
  • ThumbnailType.THUMBNAIL_SEARCH ( shown in search view )

Example:

package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.ThumbnailType;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
OutputStream fos = new FileOutputStream("/home/gnujavasergio/okm/thumbnail.png");
InputStream is = ws.mail.getMailThumbnail("1778f0b5-672c-48c1-b54e-494c18dd6df4", ThumbnailType.THUMBNAIL_LIGHTBOX);
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getMailsPaginated(String context, int offset, int limit, MailFilterQuery filter, String orderColumn, bool orderAsc) NodeList Returns a list of emails paginated results filtered by the values of the MailFilterQuery parameter.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.AttachmentEnum;
import com.openkm.sdk4j.bean.MailFilterQuery;
import com.openkm.sdk4j.bean.Node;
import com.openkm.sdk4j.bean.NodeList;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
MailFilterQuery filter = new MailFilterQuery();
filter.setSubject("");
filter.setAttachments(AttachmentEnum.ALL);
String orderColumn = "subject";
NodeList nodes = ws.mail.getMailsPaginated("/okm:root", 0, 20, filter, orderColumn, true);
for (Node node : nodes.getNodes()) {
System.out.println(node);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getMailAccounts() List Retrieves a list of user email accounts.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.MailAccount;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
for (MailAccount mailAccount : ws.mail.getMailAccounts()) {
System.out.println(mailAccount);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getMailMessages(long accountId, long start) MailServerMessages Retrieves a list of messages in the email server for an email account.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.ExternalMail;
import com.openkm.sdk4j.bean.MailServerMessages;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
long accoundId = 1;
long start = 1;
MailServerMessages msg = ws.mail.getMailMessages(accoundId, start);
for (ExternalMail mail : msg.getServerMails()) {
System.out.println(mail);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
addMailAccount(MailAccount mailAccount) void Add an email account.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.MailAccount;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
MailAccount mailAcount = new MailAccount();
mailAcount.setMailProtocol(MailAccount.PROTOCOL_IMAPS);
mailAcount.setMailUser("test@none.com");
mailAcount.setMailPassword("123456");
mailAcount.setMailHost("imap.gmail.com");
mailAcount.setMailFolder("OpenKM");
mailAcount.setActive(true);
mailAcount.setRecursive(true);
ws.mail.addMailAccount(mailAcount);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
updateMailAccount(MailAccount mailAccount) void Update the main configuration data of an email account.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.MailAccount;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
MailAccount mailAcount = new MailAccount();
mailAcount.setId(2);
mailAcount.setMailProtocol(MailAccount.PROTOCOL_IMAPS);
mailAcount.setMailUser("testupdate@none.com");
mailAcount.setMailPassword("123456789");
mailAcount.setMailHost("imap.gmail.com");
mailAcount.setMailFolder("OpenKM");
mailAcount.setActive(true);
mailAcount.setRecursive(true);
ws.mail.updateMailAccount(mailAcount);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
testMailAccount(MailAccount mailAccount) void Check email account connection.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.MailAccount;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
MailAccount mailAcount = new MailAccount();
mailAcount.setMailProtocol(MailAccount.PROTOCOL_IMAPS);
mailAcount.setMailUser("testupdate@none.com");
mailAcount.setMailPassword("123456789");
mailAcount.setMailHost("imap.gmail.com");
mailAcount.setMailFolder("OpenKM");
mailAcount.setActive(true);
mailAcount.setRecursive(true);
// Test mail account
ws.mail.testMailAccount(mailAcount);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
deleteMailAccount(long mailAccountId) void Delete email account.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
long mailAccountId = 2;
ws.mail.deleteMailAccount(mailAccountId);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
importMailMessages(long mailAccountId, List messageIds) void Import email account messages.

Example:

package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.ExternalMail;
import com.openkm.sdk4j.bean.MailServerMessages;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
List<Long> messageIds = new ArrayList<>();
long mailAccountId = 1; // Valid mailAccountId
long start = 1;
MailServerMessages msg = ws.getMailMessages(mailAccountId, start);
for (ExternalMail mail : msg.getServerMails()) {
messageIds.add(mail.getUid());
}
ws.mail.importMailMessages(mailAccountId, messageIds);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
createMailFilter(long mailAccountId, MailFilter mailFilter) void Add email account filter.

Example

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.MailFilter;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
long mailAccountId = 2; // Valid mailAccountId
MailFilter filter = new MailFilter();
filter.setOrder(0);
filter.setGrouping(false);
filter.setExclusive(true);
filter.setActive(false);
filter.setNode("a9d5c158-c7b1-4771-b9c3-b8d24f5a2645");
ws.mail.createMailFilter(mailAccountId, filter);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
updateMailFilter(MailFilter mailFilter) void Update email account filter.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.MailFilter;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
MailFilter filter = new MailFilter();
filter.setId(2); // Valid filter id
filter.setOrder(0);
filter.setGrouping(false);
filter.setExclusive(true);
filter.setActive(true);
filter.setNode("a9d5c158-c7b1-4771-b9c3-b8d24f5a2645");
ws.mail.updateMailFilter(filter);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
deleteMailFilter(long mailFilterId) void Delete email account filter.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
long filterId = 1; // Valid filter id
ws.mail.deleteMailFilter(filterId);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
createMailRule(long filterId, MailFilterRule rule) void Create email filter rule.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.MailFilterRule;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
long filterId = 2;// Valid filter id
MailFilterRule rule = new MailFilterRule();
rule.setOperation(MailFilterRule.OPERATION_CONTAINS);
rule.setValue("test");
rule.setField(MailFilterRule.FIELD_FROM);
rule.setActive(false);
ws.mail.createMailRule(filterId, rule);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
updateMailRule(MailFilterRule rule) void Update email coount rule.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.MailFilterRule;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
MailFilterRule rule = new MailFilterRule();
rule.setId(2);
rule.setOperation(MailFilterRule.OPERATION_EQUALS);
rule.setValue("test");
rule.setField(MailFilterRule.FIELD_FROM);
rule.setActive(false);
ws.mail.updateMailRule(rule);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
deleteMailRule(long ruleId) void Delete a rule of an email account.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
long ruleId = 1; // Valid rule id
ws.mail.deleteMailRule(ruleId);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getMailFilterRules(long filterId) List Retrieve a list rules by filter.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.MailFilterRule;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
long filterId = 2; // Valid filter id
for (MailFilterRule mailFilterRule : ws.mail.getMailFilterRules(filterId)) {
System.out.println(mailFilterRule);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
forwardEmail(String uuid, List users, List roles, List mails, String message) void Forward a email to a list of users, roles or external emails.

Example:

package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
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");
ws.mail.forwardEmail(mailUuid, users, roles, mails, "Any message");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getPdf(String uuid) InputStream Returns a PDF of the email.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Mail;
import com.openkm.sdk4j.impl.OKMWebservices;
import org.apache.commons.io.IOUtils;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Mail mail = ws.mail.getMailProperties("4b88cbe9-e73d-45fc-bac0-35e0d6e59e43");
InputStream is = ws.mail.getPdf(mail.getUuid());
OutputStream fos = new FileOutputStream("/home/gnujavasergio/okm/" + mail.getSubject() + ".pdf");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
saveMailAsPdf(String uuid, String newName, boolean propertyGroups, boolean security) Document Save the mail as PDF in the OpenKM repository.

The value of the uuid parameter should be a Mail UUID.

When the parameter newName value is null, the document will preserve the same name.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.bean.Mail;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Mail mail = ws.mail.getMailProperties("7f6c5c0b-a66b-4782-9595-e14b402a18b0");
Document docPdf = ws.mail.saveMailAsPdf(mail.getUuid(), mail.getSubject() + ".pdf", true, true);
System.out.println("Document pdf: " + docPdf.getPath());
} catch (Exception e) {
e.printStackTrace();
}
}
}