2014-10-27 13:29:02 +00:00
|
|
|
import os
|
2014-10-09 17:04:12 +00:00
|
|
|
import textwrap
|
|
|
|
|
|
|
|
from django.utils.translation import ugettext_lazy as _
|
2014-08-22 15:31:44 +00:00
|
|
|
|
2015-04-27 12:24:17 +00:00
|
|
|
from orchestra.core.validators import validate_name
|
2015-04-26 13:53:00 +00:00
|
|
|
from orchestra.settings import ORCHESTRA_BASE_DOMAIN, Setting
|
2014-08-22 15:31:44 +00:00
|
|
|
|
|
|
|
|
2015-04-27 12:24:17 +00:00
|
|
|
MAILBOXES_DOMAIN_MODEL = Setting('MAILBOXES_DOMAIN_MODEL', 'domains.Domain',
|
|
|
|
validators=[Setting.validate_model_label]
|
2015-03-31 12:39:08 +00:00
|
|
|
)
|
2014-08-22 15:31:44 +00:00
|
|
|
|
2015-03-31 12:39:08 +00:00
|
|
|
|
2015-04-27 12:24:17 +00:00
|
|
|
MAILBOXES_HOME = Setting('MAILBOXES_HOME', '/home/%(name)s/')
|
2014-08-22 15:31:44 +00:00
|
|
|
|
2014-10-06 14:57:02 +00:00
|
|
|
|
2015-04-26 13:53:00 +00:00
|
|
|
MAILBOXES_SIEVE_PATH = Setting('MAILBOXES_SIEVE_PATH',
|
2015-03-31 12:39:08 +00:00
|
|
|
os.path.join(MAILBOXES_HOME, 'Maildir/sieve/orchestra.sieve')
|
|
|
|
)
|
2014-10-27 13:29:02 +00:00
|
|
|
|
|
|
|
|
2015-04-27 12:24:17 +00:00
|
|
|
MAILBOXES_SIEVETEST_PATH = Setting('MAILBOXES_SIEVETEST_PATH', '/dev/shm')
|
2014-10-06 14:57:02 +00:00
|
|
|
|
|
|
|
|
2015-04-27 12:24:17 +00:00
|
|
|
MAILBOXES_SIEVETEST_BIN_PATH = Setting('MAILBOXES_SIEVETEST_BIN_PATH', '%(orchestra_root)s/bin/sieve-test',
|
|
|
|
validators=[Setting.string_format_validator(('orchestra_root',))]
|
2015-03-31 12:39:08 +00:00
|
|
|
)
|
2014-08-22 15:31:44 +00:00
|
|
|
|
|
|
|
|
2015-04-26 13:53:00 +00:00
|
|
|
MAILBOXES_VIRTUAL_MAILBOX_MAPS_PATH = Setting('MAILBOXES_VIRTUAL_MAILBOX_MAPS_PATH',
|
2015-03-31 12:39:08 +00:00
|
|
|
'/etc/postfix/virtual_mailboxes'
|
|
|
|
)
|
|
|
|
|
2014-08-22 15:31:44 +00:00
|
|
|
|
2015-04-26 13:53:00 +00:00
|
|
|
MAILBOXES_VIRTUAL_ALIAS_MAPS_PATH = Setting('MAILBOXES_VIRTUAL_ALIAS_MAPS_PATH',
|
2015-03-31 12:39:08 +00:00
|
|
|
'/etc/postfix/virtual_aliases'
|
|
|
|
)
|
2014-08-22 15:31:44 +00:00
|
|
|
|
|
|
|
|
2015-04-26 13:53:00 +00:00
|
|
|
MAILBOXES_VIRTUAL_ALIAS_DOMAINS_PATH = Setting('MAILBOXES_VIRTUAL_ALIAS_DOMAINS_PATH',
|
2015-03-31 12:39:08 +00:00
|
|
|
'/etc/postfix/virtual_domains'
|
|
|
|
)
|
2014-08-22 15:31:44 +00:00
|
|
|
|
2014-10-06 14:57:02 +00:00
|
|
|
|
2015-04-27 12:24:17 +00:00
|
|
|
MAILBOXES_LOCAL_DOMAIN = Setting('MAILBOXES_LOCAL_DOMAIN', ORCHESTRA_BASE_DOMAIN,
|
|
|
|
validators=[validate_name]
|
2015-03-31 12:39:08 +00:00
|
|
|
)
|
2014-10-06 14:57:02 +00:00
|
|
|
|
2014-10-21 11:22:31 +00:00
|
|
|
|
2015-04-27 12:24:17 +00:00
|
|
|
MAILBOXES_PASSWD_PATH = Setting('MAILBOXES_PASSWD_PATH', '/etc/dovecot/passwd')
|
2014-10-09 17:04:12 +00:00
|
|
|
|
|
|
|
|
2015-04-26 13:53:00 +00:00
|
|
|
MAILBOXES_MAILBOX_FILTERINGS = Setting('MAILBOXES_MAILBOX_FILTERINGS', {
|
2014-10-09 17:04:12 +00:00
|
|
|
# value: (verbose_name, filter)
|
|
|
|
'DISABLE': (_("Disable"), ''),
|
|
|
|
'REJECT': (_("Reject spam"), textwrap.dedent("""
|
|
|
|
require ["fileinto","regex","envelope","vacation","reject","relational","comparator-i;ascii-numeric"];
|
|
|
|
if header :value "ge" :comparator "i;ascii-numeric" "X-Spam-Score" "5" {
|
|
|
|
discard;
|
|
|
|
stop;
|
|
|
|
}""")),
|
|
|
|
'REDIRECT': (_("Archive spam"), textwrap.dedent("""
|
|
|
|
require ["fileinto","regex","envelope","vacation","reject","relational","comparator-i;ascii-numeric"];
|
|
|
|
if header :value "ge" :comparator "i;ascii-numeric" "X-Spam-Score" "5" {
|
|
|
|
fileinto "Spam";
|
|
|
|
stop;
|
|
|
|
}""")),
|
|
|
|
'CUSTOM': (_("Custom filtering"), lambda mailbox: mailbox.custom_filtering),
|
|
|
|
})
|
|
|
|
|
|
|
|
|
2015-04-26 13:53:00 +00:00
|
|
|
MAILBOXES_MAILBOX_DEFAULT_FILTERING = Setting('MAILBOXES_MAILBOX_DEFAULT_FILTERING', 'REDIRECT',
|
|
|
|
choices=tuple((k, v[0]) for k,v in MAILBOXES_MAILBOX_FILTERINGS.items())
|
2015-03-31 12:39:08 +00:00
|
|
|
)
|
2014-11-17 14:17:33 +00:00
|
|
|
|
|
|
|
|
2015-04-27 12:24:17 +00:00
|
|
|
MAILBOXES_MAILDIRSIZE_PATH = Setting('MAILBOXES_MAILDIRSIZE_PATH', '%(home)s/Maildir/maildirsize')
|
2014-11-27 19:17:26 +00:00
|
|
|
|
|
|
|
|
2015-04-27 12:24:17 +00:00
|
|
|
MAILBOXES_LOCAL_ADDRESS_DOMAIN = Setting('MAILBOXES_LOCAL_ADDRESS_DOMAIN', ORCHESTRA_BASE_DOMAIN,
|
|
|
|
validators=[validate_name]
|
2015-03-31 12:39:08 +00:00
|
|
|
)
|
2015-04-05 18:02:36 +00:00
|
|
|
|
|
|
|
|
2015-04-27 12:24:17 +00:00
|
|
|
MAILBOXES_MAIL_LOG_PATH = Setting('MAILBOXES_MAIL_LOG_PATH', '/var/log/mail.log')
|
2015-04-09 14:32:10 +00:00
|
|
|
|
|
|
|
|
2015-04-27 12:24:17 +00:00
|
|
|
MAILBOXES_MOVE_ON_DELETE_PATH = Setting('MAILBOXES_MOVE_ON_DELETE_PATH', '')
|