Skip to content

zimbra-api/dart-api

Repository files navigation

Zimbra SOAP client library in Dart language

This library is a simple Object Oriented wrapper for the Zimbra SOAP API.

Features

Getting started

In your Dart or flutter project add the dependency:

dependencies:
  ...
  zimbra_api:

Usage

Authentication

Authentication by account name.

final api = MailApi('mail.domain.com');
final response = await api.authByAccountName('[email protected]', 'password');
if (response != null) {
  final authToken = response.authToken;
}

Authentication by auth token which auth token can obtain from previous authentication.

final api = MailApi('mail.domain.com');
final response = await api.authByToken('auth token');

Authentication by preauth which preauth key can obtain from zmprov generateDomainPreAuthKey command

final api = MailApi('mail.domain.com');
final response = await api.authByPreauth('[email protected]', 'preauth key');
if (response != null) {
  final authToken = response.authToken;
}

Basic Usage

  1. Create api instance from one of Account & Mail API.
  2. Authentication with api.auth() method.
  3. From api object, you can access to Account & Mail API.

Example: Search messages has attachment in Inbox

final api = MailApi('mail.domain.com');
final response = await api.authByAccountName('[email protected]', 'password');
if (response != null) {
  final query = 'in:inbox has:attachment';
  final searchResponse = await api.search(query: query, searchTypes: 'message');
  final messages = searchResponse.messageHits;
}

Licensing

BSD 3-Clause

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.

About

Zimbra SOAP client library in Dart language.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages