Mail samples
Basics
On most methods, you'll see the parameter named "mailId". The value of this parameter can be a valid mail UUID.
Example of fldId:
- Using UUID -> "50b7a5b9-89d2-430e-bbc9-6a6e01662a71"
Suggested code sample
First, you must create the webservice object:
OKMWebservices ws = OKMWebservicesFactory.newInstance(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);
Once you are logged with the webservices the session is keep in the webservice Object. Then you can use the other API method
At this point you can use all the Mail methods from "mail" class as is shown below:
ws.mail.getProperties("05d9b8e3-f9c1-4ace-9007-afd775dbbced")
Methods
getProperties
Description:
Method | Return values | Description |
---|---|---|
getProperties(String uuid) |
|
Returns the mail properties. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
System.Console.WriteLine(ws.mail.getProperties("f0064cf3-4776-44c2-868a-f08697a6957e").toString());
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
delete
Description:
Method | Return values | Description |
---|---|---|
delete(String uuid) |
void |
Deletes a mail. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
ws.mail.delete("50b7a5b9-89d2-430e-bbc9-6a6e01662a71");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
purge
Description:
Method | Return values | Description |
---|---|---|
purge(String uuid) |
void |
Folder is definitely removed from repository. |
Usually, you will purge mails into /okm:trash/userId - the personal trash user locations - but is possible to directly purge any mail from the whole repository. When a mail is purged it will only be able to be restored from a previously repository backup. The purge action removes the mail definitely from the repository. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
ws.mail.purge("50b7a5b9-89d2-430e-bbc9-6a6e01662a71");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
rename
Description:
Method | Return values | Description |
---|---|---|
rename(String uuid, String newName) |
void |
Renames a mail. |
From OpenKM frontend UI the subject is used to show the mail name at file browser table. That means the change will take effect internally on mail path, but will not be appreciated from default UI. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
ws.mail.rename("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "new name");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
move
Description:
Method | Return values | Description |
---|---|---|
move(String uuid, String dstId) |
void |
Moves a mail into a folder or record. |
The values of the dstId parameter should be a folder or record UUID. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
ws.mail.move("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "055e4384-7c70-4456-b32b-f5a55a79861f");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
copy
Description:
Method | Return values | Description |
---|---|---|
public void copy(String mailId, String dstId, String newName) |
|
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. Only the security grants are copied to the destination, the metadata, keywords, etc. of the folder are not copied. See "extendedCopy" method for this feature. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
ws.mail.copy("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "055e4384-7c70-4456-b32b-f5a55a79861f", "new_name");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
extendedCopy
Description:
Method | Return values | Description |
---|---|---|
extendedCopy(String mailId, String dstId, bool categories, bool keywords, bool propertyGroups, bool notes, bool security, String newName) |
|
Copies mail with associated data into a folder or record. |
The values of the dstId parameter should be a folder or record UUID. By default, only the binary data and the security grants, the metadata, keywords, etc. of the folder are not copied. Additional:
|
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
ws.mail.extendedCopy("fe51797c-be0b-4076-8f4b-b4fffe8fd2bc", "055e4384-7c70-4456-b32b-f5a55a79861f", true, true, true, true, true, null);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getChildren
Description:
Method | Return values | Description |
---|---|---|
getChildren(String fldId) |
List<Mail> |
Returns a list of all mails which their parent is fldId. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (Mail mail in ws.mail.getChildren("055e4384-7c70-4456-b32b-f5a55a79861f"))
{
System.Console.WriteLine(mail);
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
isValid
Description:
Method | Return values | Description |
---|---|---|
isValid(String mailId) |
Boolean |
Returns a boolean that indicates if the node is a mail or not. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
// Return true
ws.mail.isValid("50b7a5b9-89d2-430e-bbc9-6a6e01662a71");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getPath
Description:
Method | Return values | Description |
---|---|---|
getPath(String mailId) |
String |
Converts a mail UUID to folder path. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
System.Console.WriteLine(ws.mail.getPath("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"));
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
createAttachment
Description:
Method | Return values | Description |
---|---|---|
createAttachment(String mailId, String docName, InputStream is) |
Document |
Stores in the mail an attachment. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
using System.IO;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
FileStream fs = new FileStream("E:\\logo.png", FileMode.Open);
ws.mail.createAttachment("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "log.png", fs);
fs.Dispose();
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
deleteAttachment
Description:
Method | Return values | Description |
---|---|---|
deleteAttachment(String mailId, String docId) |
void |
Deletes a mail attachment. |
The value of the parameter docId parameter can be a valid document UUID or path. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
ws.mail.deleteAttachment("50b7a5b9-89d2-430e-bbc9-6a6e01662a71", "e339f14b-4d3a-489c-91d3-05e4575709d2");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getAttachments
Description:
Method | Return values | Description |
---|---|---|
getAttachments(String mailId) |
List<Document> |
Retrieves a list of all documents attachment of a mail. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (Document doc in ws.mail.getAttachments("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"))
{
System.Console.WriteLine(doc);
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
sendMailWithAttachments
Description:
Method | Return values | Description |
---|---|---|
sendMailWithAttachments(String from, List<String> to, List<String> cc, List<String> bcc, List<String> replyTo, String subject, |
|
Sends a mail message with an attachement. |
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 into the repository after be sent. Other parameters:
|
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
string from = "test@none.com";
List<String> to = new List<String>();
to.Add("destination@mail.com");
List<String> cc = new List<String>();
List<String> bcc = new List<String>();
List<String> docsId = new List<String>();
List<String> replyTo= new List<String>();
docsId.Add("7aa523e0-06cf-4733-b8c8-cc74d8b2716d");
docsId.Add("f123a950-0329-4d62-8328-0ff500fd42db");
ws.mail.sendMailWithAttachments(from, to, cc, bcc, replyTo, "some subject", "This mail its a test.", docsId, "055e4384-7c70-4456-b32b-f5a55a79861f");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
importEml
Description:
Method | Return values | Description |
---|---|---|
importEml(String dstId, String title, FileStream fs) |
|
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 sent. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
using System.IO;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
FileStream filestream = new FileStream("C:\\Documents\\test.eml", FileMode.Open);
Mail mail = ws.mail.importEml("f123a950-0329-4d62-8328-0ff500fd42db", "Test", filestream);
System.Console.WriteLine(mail);
filestream.Close();
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
importMsg
Description:
Method | Return values | Description |
---|---|---|
importMsg(String dstId, String title, FileStream fs) |
|
Import a mail in MSG 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 sent. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
using System.IO;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
FileStream filestream = new FileStream("C:\\Documents\\test.msg", FileMode.Open);
Mail mail = ws.mail.importMsg("f123a950-0329-4d62-8328-0ff500fd42db", "Test", filestream);
System.Console.WriteLine(mail);
filestream.Close();
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
setTitle
Description:
Method | Return values | Description |
---|---|---|
setTitle(String mailId, String title) |
|
Sets the mail title. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
ws.mail.setTitle("68ed7a93-005c-4ec6-ac01-bb151573c775", "new title");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
sendMail
Description:
Method | Return values | Description |
---|---|---|
sendMail(List<String> to, String subject, String body) |
Void |
Sends a mail. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
List<String> to = new List<string>();
to.Add("some@mail.com");
ws.mail.sendMail(to, "Testing sending mail from OpenKM", "Test message body.");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
sendMail
Description:
Method | Return values | Description |
---|---|---|
sendMail(String from, List<String> to, String subject, String body) |
Void |
Sends a mail. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
string from = "test@mome.com"
List<String> to = new List<string>();
to.Add("some@mail.com");
ws.mail.sendMail(from, to, "Testing sending mail from OpenKM", "Test message body.");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
setNodeClass
Description:
Method | Return values | Description |
---|---|---|
setNodeClass(String mailId, long ncId) |
void |
Sets the mail node class. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
ws.mail.setNodeClass("68ed7a93-005c-4ec6-ac01-bb151573c775", ncId);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
setDescription
Description:
Method | Return values | Description |
---|---|---|
setDescription(String mailId, String description) |
void |
Sets the mail title. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
ws.mail.setDescription("68ed7a93-005c-4ec6-ac01-bb151573c775", "Any description");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getContent
Description:
Method | Return values | Description |
---|---|---|
getContent(String mailId) |
Stream |
Sets the mail title. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
Stream s = ws.mail.getContent("68ed7a93-005c-4ec6-ac01-bb151573c775");
FileStream mailFile = new FileStream("C:\\mailtest.msg", FileMode.OpenOrCreate);
s.CopyTo(mailFile);
s.Close();
mailFile.Close();
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getThumbnail
Description:
Method | Return values | Description |
---|---|---|
getThumbnail(String mailId, ThumbnailType type) |
Stream |
Returns thumbnail image data. |
Available types:
Each thumbnail type has its own image dimensions. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
Stream s = ws.mail.getThumbnail("68ed7a93-005c-4ec6-ac01-bb151573c775", ThumbnailType.THUMBNAIL_PROPERTIES);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
setDispositionStage
Description:
Method | Return values | Description |
---|---|---|
setDispositionStage(String uuid, long stage) |
void |
Sets the mail disposition stage. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
long stage = 1;
ws.mail.setDispositionStage("f0064cf3-4776-44c2-868a-f08697a6957e", stage);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
createWizard
Description:
Method | Return values | Description |
---|---|---|
createWizard(String uuid, String title, FileStream fileStream, String type) |
WizardNode |
Create a mail with wizard. |
The Wizard node contains the steps what might be followed by the wizard:
|
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
Folder fld = ws.createFolder("f123a950-0329-4d62-8328-0ff500fd42db", "Test");
FileStream filestream = new FileStream("C:\\testing.msg", FileMode.Open, FileAccess.Read);
WizardNode wn = ws.mail.createWizard(fld.uuid, "Any title", filestream, Mail.ORIGIN_MSG);
filestream.Close();
System.Console.WriteLine(wn.toString());
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getMailsPaginated
Description:
Method | Return values | Description |
---|---|---|
getMailsPaginated(String context, int offset, int limit, MailFilterQuery filter, String orderColumn, bool orderAsc) |
SimpleNodeBaseResultSet |
Returns a list of emails paginated results filtered by the values of the MailFilterQuery parameter. |
The parameter "limit" and "offset" allows you to retrieve just a portion of the results of a query.
For example, if your query has 1000 results, but you only want to return the first 10, you should use these values:
Now suppose you want to show the results from 11-20, you should use these values:
|
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
MailFilterQuery filter = new MailFilterQuery();
filter.subject = "";
filter.attachments = AttachmentEnum.ALL;
String orderColumn = "subject";
SimpleNodeBaseResultSet simpleNodeBaseResultSet = ws.mail.getMailsPaginated(0, 10, filter, orderColumn, true);
foreach (SimpleNodeBase simpleNodeBase in simpleNodeBaseResultSet)
{
System.Console.WriteLine(simpleNodeBase.toString());
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getAccounts
Description:
Method | Return values | Description |
---|---|---|
getAccounts() |
List<MailAccount> |
Retrieves a list of user email accounts. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
foreach (MailAccount mail in ws.mail.getAccounts())
{
System.Console.WriteLine(mail.toString());
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getMailMessages
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:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
long accoundId = 1;
long start = 1;
MailServerMessages msm = ws.mail.getMailMessages(accoundId, start);
System.Console.WriteLine(msm.toString());
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
addAccount
Description:
Method | Return values | Description |
---|---|---|
addAccount(MailAccount mailAccount) |
void |
Add an email account. |
It is a good practice to create an account, verify the mail configuration with the testMailAccount(MailAccount mail). When you do not set the user, the account will be added by default to the logged user. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
MailAccount mailAcount = new MailAccount();
mailAcount.mailProtocol = MailAccount.PROTOCOL_IMAPS;
mailAcount.mailUser = "test@none.com";
mailAcount.mailPassword = "123456";
mailAcount.mailHost = "imap.gmail.com";
mailAcount.mailFolder = "OpenKM";
mailAcount.active = true;
mailAcount.recursive = true;
ws.mail.addAccount(mailAcount);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
updateAccount
Description:
Method | Return values | Description |
---|---|---|
updateAccount(MailAccount mailAccount) |
void |
Update the main configuration data of an email account. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
MailAccount mailAcount = new MailAccount();
mailAcount.id = 1;// Valid mail account id;
mailAcount.mailProtocol = MailAccount.PROTOCOL_IMAPS;
mailAcount.mailUser = "test@none.com";
mailAcount.mailPassword = "123456";
mailAcount.mailHost = "imap.gmail.com";
mailAcount.mailFolder = "OpenKM";
mailAcount.active = false;
mailAcount.mailMarkDeleted = false;
mailAcount.recursive = false;
ws.mail.updateAccount(mailAcount);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
testAccount
Description:
Method | Return values | Description |
---|---|---|
testAccount(MailAccount mailAccount) |
void |
Verify connectivity of an email account. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
MailAccount mailAcount = new MailAccount();
mailAcount.mailProtocol = MailAccount.PROTOCOL_IMAPS;
mailAcount.mailUser = "test@none.com";
mailAcount.mailPassword = "123456";
mailAcount.mailHost = "imap.gmail.com";
mailAcount.mailFolder = "OpenKM";
mailAcount.active = true;
mailAcount.recursive = true;
// Test mail account
ws.mail.testAccount(mailAcount);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
deleteAccount
Description:
Method | Return values | Description |
---|---|---|
deleteAccount(long mailAccountId) |
void |
Delete an email account. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
long mailId = 1; //Valid mail id
ws.mail.deleteAccount(mailId);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
importMessages
Description:
Method | Return values | Description |
---|---|---|
importMessages(long mailAccountId, List<long> messageIds) |
void |
Import messages of aa specific email account. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
List<long> messageIds = new List<long>();
messageIds.Add(1);
long mailAccountId = 1; // Valid mail id
ws.mail.importMessages(mailAccountId, messageIds);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
createFilter
Description:
Method | Return values | Description |
---|---|---|
createFilter(long mailAccountId, MailFilter mailFilter) |
void |
Add a filter of an email account. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
Folder fld = ws.createFolder("f123a950-0329-4d62-8328-0ff500fd42db", "FilterFolder");
// Valid mail account id
long mailAccountId = 1;
MailFilter filter = new MailFilter();
filter.order = 0;
filter.grouping = false;
filter.exclusive = true;
filter.active = false;
filter.node = fld.uuid;
ws.mail.createFilter(mailAccountId, filter);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
updateFilter
Description:
Method | Return values | Description |
---|---|---|
updateFilter(MailFilter mailFilter) |
void |
Update the filter of an email account. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
MailFilter filter = new MailFilter();
filter.id = 1; // Valid filter id
filter.grouping = true;
filter.exclusive = false;
filter.active = true;
ws.mail.updateFilter(filter);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
deleteFilter
Description:
Method | Return values | Description |
---|---|---|
deleteFilter(long mailFilterId) |
void |
Delete a filter of an email account. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
long filterId = 1; // Valid filter id
ws.mail.deleteFilter(filterId);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
createRule
Description:
Method | Return values | Description |
---|---|---|
createRule(long filterId, MailFilterRule rule) |
void |
Create a rule of an email filter. |
Mail account filter parameters:
|
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
MailFilterRule rule = new MailFilterRule();
rule.operation = MailFilterRule.OPERATION_CONTAINS;
rule.value = "test";
rule.field = MailFilterRule.FIELD_FROM;
rule.active = false;
long filterId = 1;// Valid filter id
ws.mail.createRule(filterId, rule);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
updateRule
Description:
Method | Return values | Description |
---|---|---|
updateRule(MailFilterRule rule) |
void |
Update a rule of an email coount. |
Mail account filter parameters:
Available options are:
Available options are:
|
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
List<MailFilterRule> rules = ws.getMailFilterRules(filter.id);
if (rules != null && rules.Count > 0)
{
// Update rule
MailFilterRule rule = new MailFilterRule();
rule.id = rules[0].id;
rule.operation = MailFilterRule.OPERATION_EQUALS;
rule.value = "Any";
rule.field = MailFilterRule.FIELD_SUBJECT;
rule.active = true;
ws.mail.updateRule(rule);
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
deleteRule
Description:
Method | Return values | Description |
---|---|---|
deleteRule(long ruleId) |
void |
Delete a rule of an email account. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
long ruleId = 1; // Valid rule id
ws.mail.deleteRule(ruleId);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getFilterRules
Description:
Method | Return values | Description |
---|---|---|
getFilterRules(long filterId) |
List<MailFilterRule> |
Retrieve a list of all the associated rules of type filter. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
long filterId = 1; // Valid filter id
foreach (MailFilterRule mfrule in ws.mail.getFilterRules(filterId))
{
System.Console.WriteLine(mfrule.toString());
}
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
forwardEmail
Description:
Method | Return values | Description |
---|---|---|
forwardEmail(String uuid, List<String> users, List<String> roles, List<String> mails, String message) |
void |
Forward a email to a list of users, roles or external emails. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
string mailUuid = "f123a950-0329-4d62-8328-0ff500fd42db";
List<string> users = new List<string>();
users.Add("userTest");
List<string> roles = new List<string>();
roles.Add("ROLE_USER");
List<string> mails = new List<string>();
mails.Add("test@none.com");
ws.mail.forwardEmail(mailUuid, users, roles, mails, "Any message");
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getPdf
Description:
Method | Return values | Description |
---|---|---|
getPdf(String uuid) |
Stream |
Returns a PDF of the email. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
using com.openkm.sdk4csharp.impl;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
Mail mail = ws.mail.getMailProperties("4b88cbe9-e73d-45fc-bac0-35e0d6e59e43");
Stream stream = ws.mail.getPdf(mail.uuid);
FileStream mailFile = new FileStream("D:\\" + mail.subject + ".pdf", FileMode.OpenOrCreate, FileAccess.ReadWrite);
stream.CopyTo(mailFile);
stream.Close();
mailFile.Close();
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
saveAsPdf
Description:
Method | Return values | Description |
---|---|---|
saveAsPdf(String uuid, String newName, bool propertyGroups, bool 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. Additional:
|
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.bean;
using com.openkm.sdk4csharp.impl;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
Mail mail = ws.mail.getMailProperties("4b88cbe9-e73d-45fc-bac0-35e0d6e59e43");
Document docPdf = ws.mail.saveAsPdf(mail.uuid, mail.subject + ".pdf", true, true);
System.Console.WriteLine("Document pdf: " + docPdf.path);
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}
getExtractedText
Description:
Method | Return values | Description |
---|---|---|
getExtractedText(String uuid) |
String |
Get extracted text. |
Example:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try
{
ws.login(user, password);
System.Console.WriteLine(ws.mail.getExtractedText("50b7a5b9-89d2-430e-bbc9-6a6e01662a71"));
}
catch (Exception e)
{
System.Console.WriteLine(e.ToString());
}
}
}
}