XANDIKOS-MILTER(8)

NAME
xandikos-milter - Postfix/Sendmail milter for inbound iMIP scheduling

SYNOPSIS
xandikos-milter --lmtp-socket TARGET --listen TARGET [OPTIONS]
xandikos-milter --server-url URL --listen TARGET [OPTIONS]

DESCRIPTION
xandikos-milter runs a libmilter-protocol server that Postfix or Sendmail can hand each inbound message to. If the message carries a valid iMIP REQUEST, REPLY or CANCEL (RFC 6047), the message is forwarded to a running Xandikos for storage in the schedule inbox. The message is always accepted, so normal mailbox delivery proceeds. Two transports are supported. Exactly one must be configured:

LMTP (recommended)
    With --lmtp-socket, the milter forwards the raw RFC 5322 message to a running xandikos serve --imip-listen endpoint. This is symmetric with the existing iMIP LMTP listener and is the cleanest setup when the milter and Xandikos run on the same host.

HTTP fallback
    With --server-url, the extracted iTIP payload is POSTed to a Xandikos schedule-inbox URL. Use this when the milter and Xandikos run on different hosts and you want HTTPS + HTTP Basic credentials between them.

Messages that carry an Auto-Submitted header other than no (RFC 3834) are skipped to avoid loops between two Xandikos instances.

OPTIONS

--lmtp-socket TARGET
    LMTP endpoint of a running xandikos serve --imip-listen. Pass unix:/path/to/sock for a Unix domain socket or host:port for TCP. May also be set via XANDIKOS_MILTER_LMTP_SOCKET.

--server-url URL
    Schedule-inbox URL of a running Xandikos server. Each iMIP payload is POSTed here as text/calendar. May also be set via XANDIKOS_MILTER_SERVER_URL.

--username USER
    Username for HTTP Basic authentication against --server-url.

--password-file FILE
    File containing the HTTP Basic authentication password.

--unix-socket PATH
    Unix domain socket path for HTTP requests to the Xandikos server (useful when Xandikos itself listens on a Unix socket).

--listen TARGET
    Listen target. Pass unix:/path/to/sock for a Unix domain socket, or host:port for TCP. Postfix uses this as smtpd_milters=TARGET. May also be set via XANDIKOS_MILTER_LISTEN.

--listen-mode MODE
    File mode (octal, e.g. 660) for the Unix socket. Ignored for TCP listeners.

--listen-group GROUP
    Group ownership for the Unix socket. Ignored for TCP listeners.

POSTFIX CONFIGURATION
Add the milter to main.cf so that Postfix consults it during SMTP intake:

    smtpd_milters = unix:/run/xandikos/milter.sock
    non_smtpd_milters = $smtpd_milters
    milter_default_action = accept

milter_default_action = accept ensures Postfix keeps delivering mail if the milter is unreachable.

SEE ALSO
xandikos(8)

AUTHORS
Jelmer Vernooij <jelmer@debian.org>