OX6:MailNotify Bundle

Revision as of 12:05, 12 March 2010 by Choeger (talk | contribs) (Configuration)

Open-Xchange Mail Push

Beginning with the 6.16 release, there's a new bundle handling external notifications of new mail to send push requests to mobile devices.

Description

This Bundle is currently only able to cooperate with the mail notification functionality of cyrus-imapd, but this will change in a way, that future versions will be configurable on what kind of notification protocol is required.

At the moment, this bundle listens on the address and port as configured in /opt/open-xchange/etc/groupware/push_mailnotify.properties accepting UDP datagrams following the format as used in the cyrus notifyd:

notifyd/notifyd.c:
method NUL class NUL priority NUL user NUL mailbox NUL nopt NUL N(option NUL) message NUL

and the only information which is currently being evaluated is the fourth one, the username.

Install on OX AppSuite

Debian GNU/Linux 10.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb https://software.open-xchange.com/products/stable/DebianBuster/ /
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# deb https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/stable/updates/DebianBuster/ /

and run

$ apt-get update
$ apt-get install open-xchange-push-mailnotify

Debian GNU/Linux 11.0

Add the following entry to /etc/apt/sources.list.d/open-xchange.list if not already present:

deb https://software.open-xchange.com/products/stable/DebianBullseye/ /
# if you have a valid maintenance subscription, please uncomment the 
# following and add the ldb account data to the url so that the most recent
# packages get installed
# deb https://[CUSTOMERID:PASSWORD]@software.open-xchange.com/products/stable/updates/DebianBullseye/ /

and run

$ apt-get update
$ apt-get install open-xchange-push-mailnotify


Configuration

On the server running cyrus, add the following to /etc/imapd.conf:

mailnotifier: log

In /etc/cyrus.conf take care, that cyrus own notifyd is NOT in use. If it is not commented, either do that or remove it completely.

Example:

 # this is only necessary if using notifications
 #  notify       cmd="notifyd" listen="/var/lib/imap/socket/notify" proto="udp" prefork=1

Install the program socat. Socat is a Multipurpose relay (see http://www.dest-unreach.org/socat/) which must be used to relay the udb datagrams from the unix domain socket to the open-xchange push bundle.

To redirect the notifications to the open-xchange server, socat must be started like this:

socat -u -4 UNIX-RECV:/var/lib/imap/socket/notify,unlink-early,perm-early=777,type=2 \
         UDP-SENDTO:<YOUROXIP>:<YOURPUSHPORT>

To debug whether cyrus sends messages, you might want to add debugging to socat:

socat -d -d -d -D -v -u -4 UNIX-RECV:/var/lib/imap/socket/notify,unlink-early,perm-early=777,type=2 \
         UDP-SENDTO:<YOUROXIP>:<YOURPUSHPORT>