-
Notifications
You must be signed in to change notification settings - Fork 216
/
dovecot
143 lines (118 loc) · 5.7 KB
/
dovecot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#!/usr/bin/env bash
# Author: Zhang Huangbin (zhb _at_ iredmail.org)
#---------------------------------------------------------------------
# This file is part of iRedMail, which is an open source mail server
# solution for Red Hat(R) Enterprise Linux, CentOS, Debian and Ubuntu.
#
# iRedMail is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# iRedMail is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with iRedMail. If not, see <http://www.gnu.org/licenses/>.
#---------------------------------------------------------------------
# ----------------------------------------
# For Dovecot and dovecot-sieve.
# ----------------------------------------
# Major version number of Dovecot package: 2.3.
export DOVECOT_VERSION='2.3'
# Dovecot user & group.
export SYS_USER_DOVECOT='dovecot'
export SYS_GROUP_DOVECOT='dovecot'
export DOVECOT_RC_SCRIPT_NAME='dovecot'
export DOVECOT_BIN='/usr/sbin/dovecot'
export DOVECOT_DOVEADM_BIN='/usr/bin/doveadm'
export DOVECOT_SIEVEC='/usr/libexec/dovecot/sievec'
# Dovecot running directory, required by dovecot-2.x.
export DOVECOT_BASE_DIR='/var/run/dovecot'
# Enabled plugins for protocol 'lda' and 'imap'.
export DOVECOT_LDA_PLUGINS='quota sieve autocreate'
export DOVECOT_IMAP_PLUGINS='quota imap_quota autocreate'
# Default quota type: maildir, dict:user::proxy::quotadict (quotadict).
export DOVECOT_QUOTA_TYPE='dict:user::proxy::quotadict'
# Do not starts with dot (.).
export SIEVE_RULE_FILENAME='dovecot.sieve'
export DOVECOT_GLOBAL_SIEVE_FILE="${SIEVE_DIR}/${SIEVE_RULE_FILENAME}"
# Directory used to store Dovecot config files
export DOVECOT_CONF_DIR='/etc/dovecot'
export DOVECOT_CONF_INCLUDE_DIR='/etc/dovecot/iredmail'
# Path to Dovecot deliver agant
export DOVECOT_DELIVER_BIN='/usr/libexec/dovecot/deliver'
# main log file
export DOVECOT_LOG_DIR='/var/log/dovecot'
export DOVECOT_LOG_FILE="${DOVECOT_LOG_DIR}/dovecot.log"
# Log files when we use Dovecot internal log system
export DOVECOT_SIEVE_LOG_FILE="${DOVECOT_LOG_DIR}/sieve.log"
export DOVECOT_LMTP_LOG_FILE="${DOVECOT_LOG_DIR}/lmtp.log"
# Log files when we use syslog
export DOVECOT_SYSLOG_FILE_LDA="${DOVECOT_LOG_DIR}/lda.log"
export DOVECOT_SYSLOG_FILE_IMAP="${DOVECOT_LOG_DIR}/imap.log"
export DOVECOT_SYSLOG_FILE_POP3="${DOVECOT_LOG_DIR}/pop3.log"
export DOVECOT_SYSLOG_FILE_SIEVE="${DOVECOT_LOG_DIR}/sieve.log"
# Log rotate config file
export DOVECOT_LOGROTATE_FILE="${LOGROTATE_DIR}/dovecot"
if [ X"${DISTRO}" == X'DEBIAN' -o X"${DISTRO}" == X'UBUNTU' ]; then
export DOVECOT_DELIVER_BIN='/usr/lib/dovecot/deliver'
elif [ X"${DISTRO}" == X'FREEBSD' ]; then
export DOVECOT_CONF_DIR='/usr/local/etc/dovecot'
export DOVECOT_DELIVER_BIN='/usr/local/libexec/dovecot/deliver'
export DOVECOT_DOVEADM_BIN='/usr/local/bin/doveadm'
export DOVECOT_CONF_INCLUDE_DIR='/usr/local/etc/dovecot/iredmail'
elif [ X"${DISTRO}" == X'OPENBSD' ]; then
export SYS_USER_DOVECOT='_dovecot'
export SYS_GROUP_DOVECOT='_dovecot'
export DOVECOT_DELIVER_BIN='/usr/local/libexec/dovecot/deliver'
export DOVECOT_DOVEADM_BIN='/usr/local/bin/doveadm'
fi
# Dovecot config files
export DOVECOT_CONF="${DOVECOT_CONF_DIR}/dovecot.conf"
export DOVECOT_LDAP_CONF="${DOVECOT_CONF_DIR}/dovecot-ldap.conf"
export DOVECOT_MYSQL_CONF="${DOVECOT_CONF_DIR}/dovecot-mysql.conf"
export DOVECOT_PGSQL_CONF="${DOVECOT_CONF_DIR}/dovecot-pgsql.conf"
export DOVECOT_REALTIME_QUOTA_CONF="${DOVECOT_CONF_DIR}/dovecot-used-quota.conf"
export DOVECOT_SHARE_FOLDER_CONF="${DOVECOT_CONF_DIR}/dovecot-share-folder.conf"
export DOVECOT_LAST_LOGIN_CONF="${DOVECOT_CONF_DIR}/dovecot-last-login.conf"
export DOVECOT_MASTER_USER_PASSWORD_FILE="${DOVECOT_CONF_DIR}/dovecot-master-users"
export DOVECOT_MASTER_USER_DOMAIN="${DOVECOT_MASTER_USER_DOMAIN:=not-exist.com}"
# Dovecot auth socket and pid file.
# Relative path of Dovecot auth socket under Postfix chroot directory.
export DOVECOT_SASL_AUTH_SOCKET='private/dovecot-auth'
export DOVECOT_AUTH_MASTER_PATH="${DOVECOT_BASE_DIR}/auth-master"
export DOVECOT_MASTER_PID="${DOVECOT_BASE_DIR}/master.pid"
# Protocols.
export DOVECOT_PROTOCOLS="pop3 imap sieve lmtp"
# Plugin: Expire.
# NOTE: dict process currently runs as root, so this file will be owned as root.
export DOVECOT_EXPIRE_DICT_BDB='/var/lib/dovecot/expire/expire.db'
# Plugin: quota warning.
export DOVECOT_QUOTA_WARNING_SCRIPT='/usr/local/bin/dovecot-quota-warning.sh'
# Plugin: share folder.
export DOVECOT_SHARE_FOLDER_DB_TABLE='share_folder'
export DOVECOT_SHARE_FOLDER_ANYONE_DB_TABLE='anyone_shares'
export DOVECOT_REALTIME_QUOTA_TABLE='used_quota'
if [ X"${BACKEND}" == X'OPENLDAP' -o X"${BACKEND}" == X'MYSQL' ]; then
export DOVECOT_SQL_DBN='mysql'
elif [ X"${BACKEND}" == X'PGSQL' ]; then
export DOVECOT_SQL_DBN='pgsql'
fi
# Plugin: stats
export DOVECOT_SERVICE_STATS_USER="${SYS_USER_VMAIL}"
export DOVECOT_SERVICE_STATS_GROUP="${SYS_GROUP_VMAIL}"
export DOVECOT_SERVICE_STATS_PORT='24242'
# FYI: https://wiki.dovecot.org/Quota#Quota_service
export DOVECOT_SERVICE_QUOTA_STATUS_PORT='12340'
# Local (Mail) Delivery Agent
# - dovecot
# - lmtp:unix:private/dovecot-lmtp
# - lmtp:inet:<ip>:<port>
export DOVECOT_LDA_DELIVER='dovecot'
# Directory used to store mailbox INDEX files
# - '' (empty value): use mailbox as index directory.
# - '/path/to/dir': specify an absolute path as index directory.
export MAILBOX_INDEX_DIR="${MAILBOX_INDEX_DIR:=}"