grommunio Sync is an open-source application to synchronize Exchange ActiveSync (EAS) compatible devices such as mobile phones and tablets.
While Microsoft Outlook supports EAS, it is not recommended to use grommunio Sync due to a very small subset of features only supported. For Microsoft Outlook, users should rather use the native MAPI/HTTP and MAPI/RPC protocols, available through `grommunio Gromox <https://github.com/grommunio/gromox>`.
- Provides native groupware (emails, contacts, calendar, tasks and notes) connectivity for mobile devices, such as phones and tablets.
- Delivers Exchange ActiveSync (EAS) 2.5, 12.0, 12.1, 14.0 and 14.1 protocol compatibility.
- Multi-platform support for most recent Android, Apple (iOS powered iPhones and iPads) and even outdated Windows Mobile, Nokia and Blackberry devices.
- Supports device management policies such as remote-wipe, password-strength, lockout after invalid authentication after definable amount of times.
- Compatible, works with various web servers such as nginx and apache and others; usage of nginx is recommended.
- Highly efficient, averaging at 2MB per sync thread per device of memory usage (using nginx with php-fpm).
- Distributable, compatible with load balancers such as haproxy, apisix, KEMP and others.
- Scalable, enabling multi-server and multi-location deployments.
- Failover-safe, storing device and sync states in user stores.
- High-performance, allowing nearly wire speeds for store synchronization.
- Secure, with certifications through independent security research and validation.
- PHP 7.4+, 8.x
- PHP modules: soap, mbstring, posix, pcntl, pdo, xml, redis
- PHP backend module: mapi
- A working web server (nginx is recommended), with a working TLS configuration
- PHP, preferably available as fpm pool
- Redis for high-performance interprocess communication states
- Zcore MAPI transport (provided by Gromox.
- Working AutoDiscover setup (recommended, provided by Gromox)
- Deploy grommunio-sync at a location of your choice, such as
/usr/share/grommunio-sync
. - Adapt
version.php
with the adequate version string, see /build/version.php.in. - Provide a default configuration file as config.php, see /config.php.
- Adapt web server configuration according to your needs, /build provides some examples.
- Prepare PHP configuration according to your needs, /build provides some examples.
- Installation and configuration of redis service.
- (Optional) setup AutoDiscover accordingly for account discovery and configuration.
- Point your EAS client of choice with the "Microsoft Exchange" mail account type made available.
- With AutoDiscover, only your account credentials (username and password) are required for device setup.
- Use
grommunio-sync-top.php
or grommunio Admin UI to view connections.
Support is available through grommunio GmbH and its partners. See https://grommunio.com/ for details. A community forum is at https://community.grommunio.com/.
For direct contact and supplying information about a security-related responsible disclosure, contact dev@grommunio.com.
- https://docs.github.com/en/get-started/quickstart/contributing-to-projects
- Alternatively, upload commits to a git store of your choosing, or export the series as a patchset using git format-patch, then convey the git link/patches through our direct contact address (above).
This repository follows a custom coding style, which can be validated anytime using the repository's provided configuration file.