Found some workaround:
1. Make sure you have preach enabled:
Preauth - Zimbra :: Wiki
2. Use a small PHP or whatever you may prefer running something like this:
PHP Code:
/**
* Globals. Can be stored in external config.inc.php or retreived from a DB.
*/
$PREAUTH_KEY="put your generated pre authentication key here";
$WEB_MAIL_PREAUTH_URL="https://your.domain.com/service/preauth";
/**
* User's email address and domain. In this example obtained from a GET query parameter.
* i.e. preauthExample.php?email=user@domain.com&domain=domain.com
* You could also parse the email instead of passing domain as a separate parameter
*/
$email = $_REQUEST['user'];
if(empty($PREAUTH_KEY)) {
die("Need preauth key for domain ".$domain);
}
/**
* Create preauth token and preauth URL
*/
$timestamp=time()*1000;
$preauthToken=hash_hmac("sha1",$email."|name|0|".$timestamp,$PREAUTH_KEY);
$preauthURL = $WEB_MAIL_PREAUTH_URL."?account=".$email."&by=name×tamp=".$timestamp."&expires=0&preauth=".$preauthToken;
/**
* Redirect to Zimbra preauth URL
*/
header("Location: $preauthURL");
Now call your script with the email param - and think of protecting this link somehow!