Fixing deprecated Postfix templates & Providing Dovecot2 Sieve-Configs
This commit is contained in:
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -44,5 +44,5 @@ postmaster_address = postmaster@<SERVERNAME>
|
|||||||
|
|
||||||
protocol lda {
|
protocol lda {
|
||||||
# Space separated list of plugins to load (default is global mail_plugins).
|
# Space separated list of plugins to load (default is global mail_plugins).
|
||||||
mail_plugins = $mail_plugins quota
|
mail_plugins = $mail_plugins quota sieve
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
##
|
||||||
|
## ManageSieve specific settings
|
||||||
|
##
|
||||||
|
|
||||||
|
# Service definitions
|
||||||
|
|
||||||
|
service managesieve-login {
|
||||||
|
inet_listener sieve {
|
||||||
|
port = 4190
|
||||||
|
}
|
||||||
|
|
||||||
|
#inet_listener sieve_deprecated {
|
||||||
|
# port = 2000
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Number of connections to handle before starting a new process. Typically
|
||||||
|
# the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
|
||||||
|
# is faster. <doc/wiki/LoginProcess.txt>
|
||||||
|
#service_count = 1
|
||||||
|
|
||||||
|
# Number of processes to always keep waiting for more connections.
|
||||||
|
#process_min_avail = 0
|
||||||
|
|
||||||
|
# If you set service_count=0, you probably need to grow this.
|
||||||
|
#vsz_limit = 64M
|
||||||
|
}
|
||||||
|
|
||||||
|
service managesieve {
|
||||||
|
# Max. number of ManageSieve processes (connections)
|
||||||
|
#process_limit = 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
# Service configuration
|
||||||
|
|
||||||
|
protocol sieve {
|
||||||
|
# Maximum ManageSieve command line length in bytes. ManageSieve usually does
|
||||||
|
# not involve overly long command lines, so this setting will not normally
|
||||||
|
# need adjustment
|
||||||
|
#managesieve_max_line_length = 65536
|
||||||
|
|
||||||
|
# Maximum number of ManageSieve connections allowed for a user from each IP
|
||||||
|
# address.
|
||||||
|
# NOTE: The username is compared case-sensitively.
|
||||||
|
#mail_max_userip_connections = 10
|
||||||
|
|
||||||
|
# Space separated list of plugins to load (none known to be useful so far).
|
||||||
|
# Do NOT try to load IMAP plugins here.
|
||||||
|
#mail_plugins =
|
||||||
|
|
||||||
|
# MANAGESIEVE logout format string:
|
||||||
|
# %i - total number of bytes read from client
|
||||||
|
# %o - total number of bytes sent to client
|
||||||
|
#managesieve_logout_format = bytes=%i/%o
|
||||||
|
|
||||||
|
# To fool ManageSieve clients that are focused on CMU's timesieved you can
|
||||||
|
# specify the IMPLEMENTATION capability that Dovecot reports to clients.
|
||||||
|
# For example: 'Cyrus timsieved v2.2.13'
|
||||||
|
#managesieve_implementation_string = Dovecot Pigeonhole
|
||||||
|
|
||||||
|
# Explicitly specify the SIEVE and NOTIFY capability reported by the server
|
||||||
|
# before login. If left unassigned these will be reported dynamically
|
||||||
|
# according to what the Sieve interpreter supports by default (after login
|
||||||
|
# this may differ depending on the user).
|
||||||
|
#managesieve_sieve_capability =
|
||||||
|
#managesieve_notify_capability =
|
||||||
|
|
||||||
|
# The maximum number of compile errors that are returned to the client upon
|
||||||
|
# script upload or script verification.
|
||||||
|
#managesieve_max_compile_errors = 5
|
||||||
|
|
||||||
|
# Refer to 90-sieve.conf for script quota configuration and configuration of
|
||||||
|
# Sieve execution limits.
|
||||||
|
}
|
||||||
@@ -0,0 +1,104 @@
|
|||||||
|
##
|
||||||
|
## Settings for the Sieve interpreter
|
||||||
|
##
|
||||||
|
|
||||||
|
# Do not forget to enable the Sieve plugin in 15-lda.conf and 20-lmtp.conf
|
||||||
|
# by adding it to the respective mail_plugins= settings.
|
||||||
|
|
||||||
|
plugin {
|
||||||
|
# The path to the user's main active script. If ManageSieve is used, this the
|
||||||
|
# location of the symbolic link controlled by ManageSieve.
|
||||||
|
sieve = ~/sieve/.dovecot.sieve
|
||||||
|
|
||||||
|
# The default Sieve script when the user has none. This is a path to a global
|
||||||
|
# sieve script file, which gets executed ONLY if user's private Sieve script
|
||||||
|
# doesn't exist. Be sure to pre-compile this script manually using the sievec
|
||||||
|
# command line tool.
|
||||||
|
# --> See sieve_before fore executing scripts before the user's personal
|
||||||
|
# script.
|
||||||
|
#sieve_default = /var/lib/dovecot/sieve/default.sieve
|
||||||
|
|
||||||
|
# Directory for :personal include scripts for the include extension. This
|
||||||
|
# is also where the ManageSieve service stores the user's scripts.
|
||||||
|
sieve_dir = ~/sieve
|
||||||
|
|
||||||
|
# Directory for :global include scripts for the include extension.
|
||||||
|
#sieve_global_dir =
|
||||||
|
|
||||||
|
# Path to a script file or a directory containing script files that need to be
|
||||||
|
# executed before the user's script. If the path points to a directory, all
|
||||||
|
# the Sieve scripts contained therein (with the proper .sieve extension) are
|
||||||
|
# executed. The order of execution within a directory is determined by the
|
||||||
|
# file names, using a normal 8bit per-character comparison. Multiple script
|
||||||
|
# file or directory paths can be specified by appending an increasing number.
|
||||||
|
#sieve_before =
|
||||||
|
#sieve_before2 =
|
||||||
|
#sieve_before3 = (etc...)
|
||||||
|
|
||||||
|
# Identical to sieve_before, only the specified scripts are executed after the
|
||||||
|
# user's script (only when keep is still in effect!). Multiple script file or
|
||||||
|
# directory paths can be specified by appending an increasing number.
|
||||||
|
#sieve_after =
|
||||||
|
#sieve_after2 =
|
||||||
|
#sieve_after2 = (etc...)
|
||||||
|
|
||||||
|
# Which Sieve language extensions are available to users. By default, all
|
||||||
|
# supported extensions are available, except for deprecated extensions or
|
||||||
|
# those that are still under development. Some system administrators may want
|
||||||
|
# to disable certain Sieve extensions or enable those that are not available
|
||||||
|
# by default. This setting can use '+' and '-' to specify differences relative
|
||||||
|
# to the default. For example `sieve_extensions = +imapflags' will enable the
|
||||||
|
# deprecated imapflags extension in addition to all extensions were already
|
||||||
|
# enabled by default.
|
||||||
|
#sieve_extensions = +notify +imapflags
|
||||||
|
|
||||||
|
# Which Sieve language extensions are ONLY available in global scripts. This
|
||||||
|
# can be used to restrict the use of certain Sieve extensions to administrator
|
||||||
|
# control, for instance when these extensions can cause security concerns.
|
||||||
|
# This setting has higher precedence than the `sieve_extensions' setting
|
||||||
|
# (above), meaning that the extensions enabled with this setting are never
|
||||||
|
# available to the user's personal script no matter what is specified for the
|
||||||
|
# `sieve_extensions' setting. The syntax of this setting is similar to the
|
||||||
|
# `sieve_extensions' setting, with the difference that extensions are
|
||||||
|
# enabled or disabled for exclusive use in global scripts. Currently, no
|
||||||
|
# extensions are marked as such by default.
|
||||||
|
#sieve_global_extensions =
|
||||||
|
|
||||||
|
# The Pigeonhole Sieve interpreter can have plugins of its own. Using this
|
||||||
|
# setting, the used plugins can be specified. Check the Dovecot wiki
|
||||||
|
# (wiki2.dovecot.org) or the pigeonhole website
|
||||||
|
# (http://pigeonhole.dovecot.org) for available plugins.
|
||||||
|
#sieve_plugins =
|
||||||
|
|
||||||
|
# The separator that is expected between the :user and :detail
|
||||||
|
# address parts introduced by the subaddress extension. This may
|
||||||
|
# also be a sequence of characters (e.g. '--'). The current
|
||||||
|
# implementation looks for the separator from the left of the
|
||||||
|
# localpart and uses the first one encountered. The :user part is
|
||||||
|
# left of the separator and the :detail part is right. This setting
|
||||||
|
# is also used by Dovecot's LMTP service.
|
||||||
|
#recipient_delimiter = +
|
||||||
|
|
||||||
|
# The maximum size of a Sieve script. The compiler will refuse to compile any
|
||||||
|
# script larger than this limit. If set to 0, no limit on the script size is
|
||||||
|
# enforced.
|
||||||
|
#sieve_max_script_size = 1M
|
||||||
|
|
||||||
|
# The maximum number of actions that can be performed during a single script
|
||||||
|
# execution. If set to 0, no limit on the total number of actions is enforced.
|
||||||
|
#sieve_max_actions = 32
|
||||||
|
|
||||||
|
# The maximum number of redirect actions that can be performed during a single
|
||||||
|
# script execution. If set to 0, no redirect actions are allowed.
|
||||||
|
#sieve_max_redirects = 4
|
||||||
|
|
||||||
|
# The maximum number of personal Sieve scripts a single user can have. If set
|
||||||
|
# to 0, no limit on the number of scripts is enforced.
|
||||||
|
# (Currently only relevant for ManageSieve)
|
||||||
|
#sieve_quota_max_scripts = 0
|
||||||
|
|
||||||
|
# The maximum amount of disk storage a single user's scripts may occupy. If
|
||||||
|
# set to 0, no limit on the used amount of disk storage is enforced.
|
||||||
|
# (Currently only relevant for ManageSieve)
|
||||||
|
#sieve_quota_max_storage = 0
|
||||||
|
}
|
||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -34,9 +34,11 @@ userdb {
|
|||||||
|
|
||||||
|
|
||||||
plugin {
|
plugin {
|
||||||
|
|
||||||
# put your plugins here
|
# put your plugins here
|
||||||
|
|
||||||
|
# Sieve-Configuration
|
||||||
|
sieve = ~/sieve/.dovecot.sieve
|
||||||
|
sieve_dir = ~/sieve
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -115,9 +117,6 @@ service managesieve-login {
|
|||||||
|
|
||||||
|
|
||||||
protocol sieve {
|
protocol sieve {
|
||||||
|
|
||||||
# not implemented yet
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -136,7 +135,7 @@ protocol imap {
|
|||||||
|
|
||||||
protocol lmtp {
|
protocol lmtp {
|
||||||
|
|
||||||
mail_plugins = $mail_plugins
|
mail_plugins = $mail_plugins sieve
|
||||||
postmaster_address = postmaster@<SERVERNAME>
|
postmaster_address = postmaster@<SERVERNAME>
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ listen = *
|
|||||||
mail_access_groups = vmail
|
mail_access_groups = vmail
|
||||||
mail_debug = no
|
mail_debug = no
|
||||||
|
|
||||||
protocols = imap pop3
|
protocols = imap pop3 sieve
|
||||||
|
|
||||||
### SSL Settings
|
### SSL Settings
|
||||||
### After you obtained an SSL-certificate enable ssl here and
|
### After you obtained an SSL-certificate enable ssl here and
|
||||||
@@ -21,6 +21,10 @@ passdb {
|
|||||||
|
|
||||||
plugin {
|
plugin {
|
||||||
quota = maildir:User Quota
|
quota = maildir:User Quota
|
||||||
|
|
||||||
|
# Sieve-Configuration
|
||||||
|
sieve = ~/sieve/.dovecot.sieve
|
||||||
|
sieve_dir = ~/sieve
|
||||||
}
|
}
|
||||||
|
|
||||||
service auth {
|
service auth {
|
||||||
@@ -36,6 +40,15 @@ service auth {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
service managesieve-login {
|
||||||
|
inet_listener sieve {
|
||||||
|
port = 4190
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service managesieve {
|
||||||
|
}
|
||||||
|
|
||||||
userdb {
|
userdb {
|
||||||
driver = prefetch
|
driver = prefetch
|
||||||
}
|
}
|
||||||
@@ -72,10 +85,13 @@ protocol pop3 {
|
|||||||
pop3_logout_format = in=%i out=%o top=%t/%p retr=%r/%b del=%d/%m size=%s
|
pop3_logout_format = in=%i out=%o top=%t/%p retr=%r/%b del=%d/%m size=%s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protocol sieve {
|
||||||
|
}
|
||||||
|
|
||||||
lda_mailbox_autocreate = yes
|
lda_mailbox_autocreate = yes
|
||||||
protocol lda {
|
protocol lda {
|
||||||
auth_socket_path = /var/run/dovecot/auth-master
|
auth_socket_path = /var/run/dovecot/auth-master
|
||||||
mail_plugins = quota
|
mail_plugins = quota sieve
|
||||||
# postmaster is the one in charge of the mail system. MUST be set to a valid address!
|
# postmaster is the one in charge of the mail system. MUST be set to a valid address!
|
||||||
postmaster_address = postmaster@<SERVERNAME>
|
postmaster_address = postmaster@<SERVERNAME>
|
||||||
sendmail_path = /usr/sbin/sendmail
|
sendmail_path = /usr/sbin/sendmail
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select destination from mail_virtual where email = '%s' and trim(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND trim(destination) <> ''
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ user = <SQL_UNPRIVILEGED_USER>
|
|||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
expansion_limit = 1
|
expansion_limit = 1
|
||||||
query = select gid from mail_users where email = '%s'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT gid FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select domain from panel_domains where domain = '%s' and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ user = <SQL_UNPRIVILEGED_USER>
|
|||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
expansion_limit = 1
|
expansion_limit = 1
|
||||||
query = select (quota*1024*1024) from mail_users where email = '%s'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT (quota*1024*1024) FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ user = <SQL_UNPRIVILEGED_USER>
|
|||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
expansion_limit = 1
|
expansion_limit = 1
|
||||||
query = select concat(homedir,maildir) from mail_users where email = '%s'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT CONCAT(homedir,maildir) FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ user = <SQL_UNPRIVILEGED_USER>
|
|||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
expansion_limit = 1
|
expansion_limit = 1
|
||||||
query = select uid from mail_users where email = '%s'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT uid FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select destination from mail_virtual where email = '%s' and trim(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND trim(destination) <> ''
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ user = <SQL_UNPRIVILEGED_USER>
|
|||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
expansion_limit = 1
|
expansion_limit = 1
|
||||||
query = select gid from mail_users where email = '%s'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT gid FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select domain from panel_domains where domain = '%s' and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ user = <SQL_UNPRIVILEGED_USER>
|
|||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
expansion_limit = 1
|
expansion_limit = 1
|
||||||
query = select (quota*1024*1024) from mail_users where email = '%s'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT (quota*1024*1024) FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ user = <SQL_UNPRIVILEGED_USER>
|
|||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
expansion_limit = 1
|
expansion_limit = 1
|
||||||
query = select concat(homedir,maildir) from mail_users where email = '%s'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT CONCAT(homedir,maildir) FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -2,5 +2,5 @@ user = <SQL_UNPRIVILEGED_USER>
|
|||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
expansion_limit = 1
|
expansion_limit = 1
|
||||||
query = select uid from mail_users where email = '%s'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT uid FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
protocols = imap pop3 <SSLPROTOCOLS>
|
protocols = imap pop3 <SSLPROTOCOLS> sieve
|
||||||
listen = *
|
listen = *
|
||||||
mail_access_groups = vmail
|
mail_access_groups = vmail
|
||||||
mail_debug = no
|
mail_debug = no
|
||||||
@@ -45,10 +45,13 @@ protocol lda {
|
|||||||
# postmaster is the one in charge of the mail system. MUST be set to a valid address!
|
# postmaster is the one in charge of the mail system. MUST be set to a valid address!
|
||||||
postmaster_address = postmaster@<SERVERNAME>
|
postmaster_address = postmaster@<SERVERNAME>
|
||||||
auth_socket_path = /var/run/dovecot/auth-master
|
auth_socket_path = /var/run/dovecot/auth-master
|
||||||
mail_plugins = quota
|
mail_plugins = quota sieve
|
||||||
sendmail_path = /usr/sbin/sendmail
|
sendmail_path = /usr/sbin/sendmail
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protocol sieve {
|
||||||
|
}
|
||||||
|
|
||||||
auth default {
|
auth default {
|
||||||
mechanisms = plain login
|
mechanisms = plain login
|
||||||
passdb sql {
|
passdb sql {
|
||||||
@@ -83,6 +86,20 @@ auth default {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
service managesieve-login {
|
||||||
|
inet_listener sieve {
|
||||||
|
port = 4190
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service managesieve {
|
||||||
|
}
|
||||||
|
|
||||||
plugin {
|
plugin {
|
||||||
quota = maildir:User quota
|
quota = maildir:User quota
|
||||||
|
|
||||||
|
# Sieve-Configuration
|
||||||
|
sieve = ~/sieve/.dovecot.sieve
|
||||||
|
sieve_dir = ~/sieve
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -43,17 +43,30 @@ protocol pop3 {
|
|||||||
|
|
||||||
# LDA configuration
|
# LDA configuration
|
||||||
protocol lda {
|
protocol lda {
|
||||||
postmaster_address = postmaster@<SERVERNAME>
|
postmaster_address = postmaster@<SERVERNAME>
|
||||||
mail_plugins = sieve quota
|
mail_plugins = sieve quota
|
||||||
quota_full_tempfail = yes
|
quota_full_tempfail = yes
|
||||||
deliver_log_format = msgid=%m: %$
|
deliver_log_format = msgid=%m: %$
|
||||||
rejection_reason = Your message to <%t> was automatically rejected:%n%r
|
rejection_reason = Your message to <%t> was automatically rejected:%n%r
|
||||||
|
}
|
||||||
|
|
||||||
|
# Sieve configuration
|
||||||
|
protocol sieve {
|
||||||
|
}
|
||||||
|
|
||||||
|
service managesieve-login {
|
||||||
|
inet_listener sieve {
|
||||||
|
port = 4190
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service managesieve {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Plugins configuration
|
# Plugins configuration
|
||||||
plugin {
|
plugin {
|
||||||
sieve=~/.dovecot.sieve
|
sieve = ~/sieve/.dovecot.sieve
|
||||||
sieve_dir=~/sieve
|
sieve_dir = ~/sieve
|
||||||
quota = maildir
|
quota = maildir
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_virtual
|
|
||||||
select_field = destination
|
|
||||||
where_field = email
|
|
||||||
additional_conditions = and TRIM(destination) <> ''
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT destination FROM mail_virtual WHERE email = '%s' AND TRIM(destination) <> ''
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = panel_domains
|
|
||||||
select_field = domain
|
|
||||||
where_field = domain
|
|
||||||
additional_conditions = and isemaildomain = '1'
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT domain FROM panel_domains WHERE domain = '%s' AND isemaildomain = '1'
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
table = mail_users
|
|
||||||
select_field = maildir
|
|
||||||
where_field = email
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT maildir FROM mail_users WHERE email = '%s'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
user = <SQL_UNPRIVILEGED_USER>
|
user = <SQL_UNPRIVILEGED_USER>
|
||||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||||
dbname = <SQL_DB>
|
dbname = <SQL_DB>
|
||||||
query = select distinct username from mail_users where email in ((select mail_virtual.email_full from mail_virtual where mail_virtual.email = '%s' union select mail_virtual.destination from mail_virtual where mail_virtual.email = '%s'));
|
|
||||||
hosts = <SQL_HOST>
|
hosts = <SQL_HOST>
|
||||||
|
query = SELECT DISTINCT username FROM mail_users WHERE email in ((SELECT mail_virtual.email_full FROM mail_virtual WHERE mail_virtual.email = '%s' UNION SELECT mail_virtual.destination FROM mail_virtual WHERE mail_virtual.email = '%s'));
|
||||||
|
|||||||
Reference in New Issue
Block a user