Initial commit
This commit is contained in:
commit
5d7f2b0f4c
|
@ -0,0 +1,50 @@
|
||||||
|
- name: Copy configuration files
|
||||||
|
loop:
|
||||||
|
- 'dovecot.conf'
|
||||||
|
template:
|
||||||
|
src: '{{ item }}.j2'
|
||||||
|
dest: '/etc/dovecot/{{ item }}'
|
||||||
|
follow: yes
|
||||||
|
tags:
|
||||||
|
- dovecot
|
||||||
|
- config
|
||||||
|
notify: Run service actions
|
||||||
|
- name: Copy sieve filters
|
||||||
|
loop:
|
||||||
|
- 'default.sieve'
|
||||||
|
template:
|
||||||
|
src: '{{ item }}.j2'
|
||||||
|
dest: '/var/lib/dovecot/sieve/{{ item }}'
|
||||||
|
follow: yes
|
||||||
|
tags:
|
||||||
|
- dovecot
|
||||||
|
- config
|
||||||
|
- sieve
|
||||||
|
notify: Run service actions
|
||||||
|
- name: Change ownership of dovecot dir
|
||||||
|
command:
|
||||||
|
argv: ["chown", "-R", "vmail:vmail", "/var/lib/dovecot"]
|
||||||
|
warn: false
|
||||||
|
tags:
|
||||||
|
- dovecot
|
||||||
|
- file
|
||||||
|
- name: Compile sieve scripts
|
||||||
|
command:
|
||||||
|
argv: ["sievec", "/var/lib/dovecot/sieve/default.sieve"]
|
||||||
|
tags:
|
||||||
|
- dovecot
|
||||||
|
- sieve
|
||||||
|
- name: Set up PAM authentication
|
||||||
|
loop:
|
||||||
|
- { name: 'dovecot', control: required, type: auth, module_path: 'pam_unix.so', module_args: '' }
|
||||||
|
- { name: 'dovecot', control: required, type: account, module_path: 'pam_unix.so', module_args: '' }
|
||||||
|
pamd:
|
||||||
|
name: '{{ item.name }}'
|
||||||
|
control: '{{ item.control }}'
|
||||||
|
type: '{{ item.type }}'
|
||||||
|
module_path: '{{ item.module_path }}'
|
||||||
|
module_arguments: '{{ item.module_args }}'
|
||||||
|
tags:
|
||||||
|
- dovecot
|
||||||
|
- pam
|
||||||
|
notify: Run service actions
|
|
@ -0,0 +1,5 @@
|
||||||
|
require ["fileinto", "mailbox"];
|
||||||
|
if header :contains "X-Spam-Flag" "YES"
|
||||||
|
{
|
||||||
|
fileinto "Junk";
|
||||||
|
}
|
|
@ -0,0 +1,178 @@
|
||||||
|
## Dovecot configuration file
|
||||||
|
|
||||||
|
# If you're in a hurry, see http://wiki2.dovecot.org/QuickConfiguration
|
||||||
|
|
||||||
|
# "doveconf -n" command gives a clean output of the changed settings. Use it
|
||||||
|
# instead of copy&pasting files when posting to the Dovecot mailing list.
|
||||||
|
|
||||||
|
# '#' character and everything after it is treated as comments. Extra spaces
|
||||||
|
# and tabs are ignored. If you want to use either of these explicitly, put the
|
||||||
|
# value inside quotes, eg.: key = "# char and trailing whitespace "
|
||||||
|
|
||||||
|
# Most (but not all) settings can be overridden by different protocols and/or
|
||||||
|
# source/destination IPs by placing the settings inside sections, for example:
|
||||||
|
# protocol imap { }, local 127.0.0.1 { }, remote 10.0.0.0/8 { }
|
||||||
|
|
||||||
|
# Default values are shown for each setting, it's not required to uncomment
|
||||||
|
# those. These are exceptions to this though: No sections (e.g. namespace {})
|
||||||
|
# or plugin settings are added by default, they're listed only as examples.
|
||||||
|
# Paths are also just examples with the real defaults being based on configure
|
||||||
|
# options. The paths listed here are for configure --prefix=/usr
|
||||||
|
# --sysconfdir=/etc --localstatedir=/var
|
||||||
|
|
||||||
|
# Enable installed protocols
|
||||||
|
!include_try /usr/share/dovecot/protocols.d/*.protocol
|
||||||
|
|
||||||
|
# A comma separated list of IPs or hosts where to listen in for connections.
|
||||||
|
# "*" listens in all IPv4 interfaces, "::" listens in all IPv6 interfaces.
|
||||||
|
# If you want to specify non-default ports or anything more complex,
|
||||||
|
# edit conf.d/master.conf.
|
||||||
|
#listen = *, ::
|
||||||
|
|
||||||
|
# Base directory where to store runtime data.
|
||||||
|
#base_dir = /var/run/dovecot/
|
||||||
|
|
||||||
|
# Name of this instance. In multi-instance setup doveadm and other commands
|
||||||
|
# can use -i <instance_name> to select which instance is used (an alternative
|
||||||
|
# to -c <config_path>). The instance name is also added to Dovecot processes
|
||||||
|
# in ps output.
|
||||||
|
#instance_name = dovecot
|
||||||
|
|
||||||
|
# Greeting message for clients.
|
||||||
|
#login_greeting = Dovecot ready.
|
||||||
|
|
||||||
|
# Space separated list of trusted network ranges. Connections from these
|
||||||
|
# IPs are allowed to override their IP addresses and ports (for logging and
|
||||||
|
# for authentication checks). disable_plaintext_auth is also ignored for
|
||||||
|
# these networks. Typically you'd specify your IMAP proxy servers here.
|
||||||
|
#login_trusted_networks =
|
||||||
|
|
||||||
|
# Space separated list of login access check sockets (e.g. tcpwrap)
|
||||||
|
#login_access_sockets =
|
||||||
|
|
||||||
|
# With proxy_maybe=yes if proxy destination matches any of these IPs, don't do
|
||||||
|
# proxying. This isn't necessary normally, but may be useful if the destination
|
||||||
|
# IP is e.g. a load balancer's IP.
|
||||||
|
#auth_proxy_self =
|
||||||
|
|
||||||
|
# Show more verbose process titles (in ps). Currently shows user name and
|
||||||
|
# IP address. Useful for seeing who are actually using the IMAP processes
|
||||||
|
# (eg. shared mailboxes or if same uid is used for multiple accounts).
|
||||||
|
#verbose_proctitle = no
|
||||||
|
|
||||||
|
# Should all processes be killed when Dovecot master process shuts down.
|
||||||
|
# Setting this to "no" means that Dovecot can be upgraded without
|
||||||
|
# forcing existing client connections to close (although that could also be
|
||||||
|
# a problem if the upgrade is e.g. because of a security fix).
|
||||||
|
#shutdown_clients = yes
|
||||||
|
|
||||||
|
# If non-zero, run mail commands via this many connections to doveadm server,
|
||||||
|
# instead of running them directly in the same process.
|
||||||
|
#doveadm_worker_count = 0
|
||||||
|
# UNIX socket or host:port used for connecting to doveadm server
|
||||||
|
#doveadm_socket_path = doveadm-server
|
||||||
|
|
||||||
|
# Space separated list of environment variables that are preserved on Dovecot
|
||||||
|
# startup and passed down to all of its child processes. You can also give
|
||||||
|
# key=value pairs to always set specific settings.
|
||||||
|
#import_environment = TZ
|
||||||
|
|
||||||
|
##
|
||||||
|
## Dictionary server settings
|
||||||
|
##
|
||||||
|
|
||||||
|
# Dictionary can be used to store key=value lists. This is used by several
|
||||||
|
# plugins. The dictionary can be accessed either directly or though a
|
||||||
|
# dictionary server. The following dict block maps dictionary names to URIs
|
||||||
|
# when the server is used. These can then be referenced using URIs in format
|
||||||
|
# "proxy::<name>".
|
||||||
|
|
||||||
|
dict {
|
||||||
|
#quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
|
||||||
|
#expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
|
||||||
|
}
|
||||||
|
|
||||||
|
# Most of the actual configuration gets included below. The filenames are
|
||||||
|
# first sorted by their ASCII value and parsed in that order. The 00-prefixes
|
||||||
|
# in filenames are intended to make it easier to understand the ordering.
|
||||||
|
!include conf.d/*.conf
|
||||||
|
|
||||||
|
# A config file can also tried to be included without giving an error if
|
||||||
|
# it's not found:
|
||||||
|
!include_try local.conf
|
||||||
|
|
||||||
|
ssl = required
|
||||||
|
ssl_cert = </etc/ssl/private/mail/fullchain.pem
|
||||||
|
ssl_key = </etc/ssl/private/mail/privkey.pem
|
||||||
|
auth_mechanisms = plain login
|
||||||
|
|
||||||
|
protocols = $protocols imap
|
||||||
|
disable_plaintext_auth = no
|
||||||
|
auth_username_format = %n
|
||||||
|
|
||||||
|
userdb {
|
||||||
|
driver = passwd
|
||||||
|
}
|
||||||
|
|
||||||
|
passdb {
|
||||||
|
driver = pam
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
service imap-login {
|
||||||
|
inet_listener imap {
|
||||||
|
#address = none
|
||||||
|
port = 143
|
||||||
|
}
|
||||||
|
inet_listener imaps {
|
||||||
|
#address = none
|
||||||
|
port = 993
|
||||||
|
ssl = yes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mail_location = maildir:~/Mail:INBOX=~/Mail/Inbox:LAYOUT=fs
|
||||||
|
namespace inbox {
|
||||||
|
inbox = yes
|
||||||
|
mailbox Drafts {
|
||||||
|
special_use = \Drafts
|
||||||
|
auto = subscribe
|
||||||
|
}
|
||||||
|
mailbox Junk {
|
||||||
|
special_use = \Junk
|
||||||
|
auto = subscribe
|
||||||
|
autoexpunge = 30d
|
||||||
|
}
|
||||||
|
mailbox Sent {
|
||||||
|
special_use = \Sent
|
||||||
|
auto = subscribe
|
||||||
|
}
|
||||||
|
mailbox Trash {
|
||||||
|
special_use = \Trash
|
||||||
|
}
|
||||||
|
mailbox Archive {
|
||||||
|
special_use = \Archive
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
service auth {
|
||||||
|
unix_listener /var/spool/postfix/private/auth {
|
||||||
|
mode = 0660
|
||||||
|
user = postfix
|
||||||
|
group = postfix
|
||||||
|
}
|
||||||
|
user = root
|
||||||
|
}
|
||||||
|
|
||||||
|
protocol lda {
|
||||||
|
mail_plugins = $mail_plugins sieve
|
||||||
|
}
|
||||||
|
protocol lmtp {
|
||||||
|
mail_plugins = $mail_plugins sieve
|
||||||
|
}
|
||||||
|
plugin {
|
||||||
|
sieve = ~/.dovecot.sieve
|
||||||
|
sieve_default = /var/lib/dovecot/sieve/default.sieve
|
||||||
|
sieve_dir = ~/.sieve
|
||||||
|
sieve_global_dir = /var/lib/dovecot/sieve/
|
||||||
|
}
|
Reference in New Issue