zarafa-dagent (1) - Linux Man Pages

zarafa-dagent: Deliver mails to Zarafa.


zarafa-dagent - Deliver mails to Zarafa.


zarafa-dagent [OPTION...] RECIPIENT


With zarafa-dagent, mail messages can be imported from Internet Mail format to Zarafa. The message is read from standard in and delivered to the Zarafa server in the mailbox of RECIPIENT. You can alter source and destination of this mail with various options.

The RECIPIENT value is resolved by zarafa-dagent prior to delivery, and therefore accepts any unique identifier for the recipient. In practice it is most useful to pass the emailaddress of the user as the RECIPIENT parameter since it is always unique (Note that login names are sometimes not unique since group names may overlap).

The delivery agent will accept and deliver the message piped through it or specified by -f and exit immediately.

The delivery agent can also run as LMTP daemon.


Various options are possible. None of these options are required.

--config, -c file

Use a configuration file. See the CONFIG() section for more information.

Default: /etc/zarafa/dagent.cfg

--deamonize, -d

Daemonize after starting. This implies --listen and is only used when LMTP is active.

--junk, -j

Deliver in the Junk mail folder of the specified user.

--file, -f file

Read e-mail input from file. When not given, input is read from standard in.

--host, -h path

Connect to the Zarafa server through path, e.g. file:///path/to/socket. Default: file:///var/run/zarafa.

--listen, -l

Listen for incoming LMTP connections


Use qmail style exit codes. Please see the EXITCODES() section for more information.


Silent mode. No output will be printed by the DAgent, except when wrong parameters are used to call zarafa-dagent.


Verbose mode. More output can be printed when processing the e-mail for rules.

When given a second time, more debugging output will be printed.


Strip the domain from the given username. For example, when the DAgent is called with '-e' and the username is 'name [at]', the delivery will be started for user 'name' instead of 'name [at]'.


The passed recipient name will always be resolved first. This means that the recipient can be a username, e-mail address or any other resolvable, unique identifier for the user. However, if the resolve fails (eg. when running as a non-trusted user), the passed name will be assumed to be a loginname of a user. Passing the -R option will disable this and will cause zarafa-dagent to exit with an error when the resolve fails.

In practice, the resolve will only fail if zarafa-dagent is not running in a trusted account and is therefore only really here for backward-compatibility of earlier zarafa-dagent versions.


Use 'now' as the delivery time. Normally, the dagent will use the date from the first Received header, which is most likely to be the header from your own mailserver.

--do-not-notify, -N

Do not send a new mail notification to othere connected clients. This option can be usefull when you have connected Outlook 2000 clients, which will also process rules when the mail is delivered. This is a bug workaround, and this option may disappear in the future.

--folder, -F path\to\folder

Deliver the incoming email to a specified subfolder of the store. Eg. --folder 'Inbox\important'. Note that the 'Inbox' folder is language specific. If the folder does not exist, delivery is reverted to the normal Inbox of the user, or use the --create flag.

--public, -P path\to\folder

Deliver the incoming email to a specified subfolder of the public store. Eg. --public 'sales\incoming'. If the folder does not exist, delivery is reverted to the normal Inbox of the user, or use the --create flag.

Note that before 6.20 you'd need to add 'Public Folders' to the folder name. This is not needed anymore.

-p <path separator>

Use a different path separator. The default is '\'. If your delivery path contains a \ character, you can use this to alter the separator. Eg. -p _ --folder 'Inbox_resellers\dealers'. The mail will now be delivered in a folder called 'resellers\dealers' as a subfolder of the Inbox.

--create, -C

Create the folder that was requested to deliver in. If there are no sufficient rights to create the folder, delivery is reverted to the normal Inbox of the user.

--read, -r

Deliver the mail as read. Normally, the message will be marked as unread. This option can be usefull when importing old mail.

-a autoresponder

Path to autoresponder, e.g. /usr/local/bin/zarafa-autorespond. This script will be called when the user enabled a vacation message in the Webaccess settings. When a header X-Zarafa-Vacation or Precedence was found in the received e-mail, this program will not be called to avoid loops. The Precedence header is often used in mailing lists. Other loop protections can be archieved in this separate program. This program or script will be called with the following arguments, in order:


The e-mail address of the Zarafa user sending the vacation message


The e-mail address of the user to send the response to


The auto response subject set by the Zarafa user


The username of the Zarafa user which set the auto response


A file where the auto respond message will be temporary written to during the autorespond

The following environment variables are present:


Set to 1 if the original mail had the user in the To header.


Set to 1 if the original mail had the user in the Cc header.


Optional, if this value is present it points to a file that contains the original headers of the received email.

Default: /usr/bin/zarafa-autorespond.


To deliver an e-mail to a Zarafa user's mailbox:


This pipes the input to the dagent via the standard input interface.


Normally, no configuration file is used or required. The following options can be set in the configuation file:


Unix socket to find the connection to the Zarafa server.

Default: file:///var/run/zarafa


Use this file as key to logon to the server. This is only used when server_socket is set to an HTTPS transport. See the zarafa-server(1) manual page on how to setup SSL keys.

Default: value not set.


The password of the SSL key file that is set in sslkey_file.

Default: value not set.


The following exitcodes can be returned:


Delivery was successful


Wrong or not enough parameters were passed to the DAgent. Delivery cannot be started.

70, 100

Delivery was failed, and cannot be delivered. The SMTP server should not try again. When the -q option is used, this value is changed to 100, otherwise 70 is returned.

75, 111

Delivery was temporarily failed. This happens when the Zarafa server is unavailable. The SMTP server may try again in a short while. When the -q option is used, this value is changed to 111, otherwise 75 is returned.


Written by Zarafa.