egroupware_official/emailadmin/inc/class.emailadmin_smtp_qmail.inc.php

96 lines
2.4 KiB
PHP
Raw Normal View History

<?php
/**
* EGroupware EMailAdmin: Postfix with new qmailUser schema
*
* @link http://www.egroupware.org
* @package emailadmin
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
* @copyright (c) 2013 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @version $Id$
*/
/**
* Postfix with new qmailUser schema (mailQuotaSize instead of mailQuota)
*/
class emailadmin_smtp_qmail extends emailadmin_smtp_ldap
{
/**
* Capabilities of this class (pipe-separated): default, forward
*/
const CAPABILITIES = 'default|forward';
/**
* Name of schema, has to be in the right case!
*/
const SCHEMA = 'qmailUser';
/**
* Attribute to enable mail for an account, OR false if existence of ALIAS_ATTR is enough for mail delivery
*/
const MAIL_ENABLE_ATTR = 'accountstatus';
/**
* Attribute value to enable mail for an account, OR false if existense of attribute is enough to enable account
*/
const MAIL_ENABLED = 'active';
/**
* Attribute for aliases OR false to use mail
*/
const ALIAS_ATTR = 'mailalternateaddress';
/**
* Primary mail address required as an alias too: true or false
*/
const REQUIRE_MAIL_AS_ALIAS=false;
/**
* Attribute for forwards OR false if not possible
*/
const FORWARD_ATTR = 'mailforwardingaddress';
/**
* Attribute to only forward mail, OR false if not available
*/
const FORWARD_ONLY_ATTR = 'deliverymode';
/**
* Attribute value to only forward mail
*/
const FORWARD_ONLY = 'forwardOnly';
/**
* Attribute for mailbox, to which mail gets delivered OR false if not supported
*/
const MAILBOX_ATTR = 'mailmessagestore';
/**
* Attribute for quota limit of user in MB
*/
const QUOTA_ATTR = 'mailquotasize';
/**
* Log all LDAP writes / actions to error_log
*/
var $debug = false;
/**
* LDAP schema configuration
*
* Parent can NOT use constants direct as we have no late static binding in currenlty required PHP 5.2
*
* @var array
*/
protected $config = array(
'schema' => self::SCHEMA,
'mail_enable_attr' => self::MAIL_ENABLE_ATTR,
'mail_enabled' => self::MAIL_ENABLED,
'alias_attr' => self::ALIAS_ATTR,
'require_mail_as_alias' => self::REQUIRE_MAIL_AS_ALIAS,
'forward_attr' => self::FORWARD_ATTR,
'forward_only_attr' => self::FORWARD_ONLY_ATTR,
'forward_only' => self::FORWARD_ONLY,
'mailbox_attr' => self::MAILBOX_ATTR,
'quota_attr' => self::QUOTA_ATTR,
);
}