diff options
| author | Xiao Pan <xyz@flylightning.xyz> | 2025-03-23 12:20:24 +0000 | 
|---|---|---|
| committer | Xiao Pan <xyz@flylightning.xyz> | 2025-03-30 10:07:25 +0000 | 
| commit | 7a649286c8e226395bbe1e1f780fb9456faa7109 (patch) | |
| tree | ce1ccf0e369dc5d23cd416adee02e78fa63896f6 | |
| parent | fa1d10ee1eeccabec411b87d54fd1e0cdb7512ec (diff) | |
dovecot switch to track only one config file
| -rw-r--r-- | etc/dovecot/conf.d/10-mail.conf | 415 | ||||
| -rw-r--r-- | etc/dovecot/conf.d/10-master.conf | 135 | ||||
| -rw-r--r-- | etc/dovecot/conf.d/10-ssl.conf | 82 | ||||
| -rw-r--r-- | etc/dovecot/conf.d/15-mailboxes.conf | 99 | ||||
| -rw-r--r-- | etc/dovecot/dovecot.conf | 48 | 
5 files changed, 48 insertions, 731 deletions
| diff --git a/etc/dovecot/conf.d/10-mail.conf b/etc/dovecot/conf.d/10-mail.conf deleted file mode 100644 index 49e70cb9..00000000 --- a/etc/dovecot/conf.d/10-mail.conf +++ /dev/null @@ -1,415 +0,0 @@ -## -## Mailbox locations and namespaces -## - -# Location for users' mailboxes. The default is empty, which means that Dovecot -# tries to find the mailboxes automatically. This won't work if the user -# doesn't yet have any mail, so you should explicitly tell Dovecot the full -# location. -# -# If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u) -# isn't enough. You'll also need to tell Dovecot where the other mailboxes are -# kept. This is called the "root mail directory", and it must be the first -# path given in the mail_location setting. -# -# There are a few special variables you can use, eg.: -# -#   %u - username -#   %n - user part in user@domain, same as %u if there's no domain -#   %d - domain part in user@domain, empty if there's no domain -#   %h - home directory -# -# See doc/wiki/Variables.txt for full list. Some examples: -# -#   mail_location = maildir:~/Maildir -#   mail_location = mbox:~/mail:INBOX=/var/mail/%u -#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n -# -# <doc/wiki/MailLocation.txt> -# -mail_location = maildir:~/Mail:INBOX=~/Mail/Inbox:LAYOUT=fs - -# If you need to set multiple mailbox locations or want to change default -# namespace settings, you can do it by defining namespace sections. -# -# You can have private, shared and public namespaces. Private namespaces -# are for user's personal mails. Shared namespaces are for accessing other -# users' mailboxes that have been shared. Public namespaces are for shared -# mailboxes that are managed by sysadmin. If you create any shared or public -# namespaces you'll typically want to enable ACL plugin also, otherwise all -# users can access all the shared mailboxes, assuming they have permissions -# on filesystem level to do so. -namespace inbox { -  # Namespace type: private, shared or public -  #type = private - -  # Hierarchy separator to use. You should use the same separator for all -  # namespaces or some clients get confused. '/' is usually a good one. -  # The default however depends on the underlying mail storage format. -  #separator =  - -  # Prefix required to access this namespace. This needs to be different for -  # all namespaces. For example "Public/". -  #prefix =  - -  # Physical location of the mailbox. This is in same format as -  # mail_location, which is also the default for it. -  #location = - -  # There can be only one INBOX, and this setting defines which namespace -  # has it. -  inbox = yes - -  # If namespace is hidden, it's not advertised to clients via NAMESPACE -  # extension. You'll most likely also want to set list=no. This is mostly -  # useful when converting from another server with different namespaces which -  # you want to deprecate but still keep working. For example you can create -  # hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/". -  #hidden = no - -  # Show the mailboxes under this namespace with LIST command. This makes the -  # namespace visible for clients that don't support NAMESPACE extension. -  # "children" value lists child mailboxes, but hides the namespace prefix. -  #list = yes - -  # Namespace handles its own subscriptions. If set to "no", the parent -  # namespace handles them (empty prefix should always have this as "yes") -  #subscriptions = yes - -  # See 15-mailboxes.conf for definitions of special mailboxes. -} - -# Example shared namespace configuration -#namespace { -  #type = shared -  #separator = / - -  # Mailboxes are visible under "shared/user@domain/" -  # %%n, %%d and %%u are expanded to the destination user. -  #prefix = shared/%%u/ - -  # Mail location for other users' mailboxes. Note that %variables and ~/ -  # expands to the logged in user's data. %%n, %%d, %%u and %%h expand to the -  # destination user's data. -  #location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u - -  # Use the default namespace for saving subscriptions. -  #subscriptions = no - -  # List the shared/ namespace only if there are visible shared mailboxes. -  #list = children -#} -# Should shared INBOX be visible as "shared/user" or "shared/user/INBOX"? -#mail_shared_explicit_inbox = no - -# System user and group used to access mails. If you use multiple, userdb -# can override these by returning uid or gid fields. You can use either numbers -# or names. <doc/wiki/UserIds.txt> -#mail_uid = -#mail_gid = - -# Group to enable temporarily for privileged operations. Currently this is -# used only with INBOX when either its initial creation or dotlocking fails. -# Typically this is set to "mail" to give access to /var/mail. -#mail_privileged_group = - -# Grant access to these supplementary groups for mail processes. Typically -# these are used to set up access to shared mailboxes. Note that it may be -# dangerous to set these if users can create symlinks (e.g. if "mail" group is -# set here, ln -s /var/mail ~/mail/var could allow a user to delete others' -# mailboxes, or ln -s /secret/shared/box ~/mail/mybox would allow reading it). -#mail_access_groups = - -# Allow full filesystem access to clients. There's no access checks other than -# what the operating system does for the active UID/GID. It works with both -# maildir and mboxes, allowing you to prefix mailboxes names with eg. /path/ -# or ~user/. -#mail_full_filesystem_access = no - -# Dictionary for key=value mailbox attributes. This is used for example by -# URLAUTH and METADATA extensions. -#mail_attribute_dict = - -# A comment or note that is associated with the server. This value is -# accessible for authenticated users through the IMAP METADATA server -# entry "/shared/comment".  -#mail_server_comment = "" - -# Indicates a method for contacting the server administrator. According to -# RFC 5464, this value MUST be a URI (e.g., a mailto: or tel: URL), but that -# is currently not enforced. Use for example mailto:admin@example.com. This -# value is accessible for authenticated users through the IMAP METADATA server -# entry "/shared/admin". -#mail_server_admin =  - -## -## Mail processes -## - -# Don't use mmap() at all. This is required if you store indexes to shared -# filesystems (NFS or clustered filesystem). -#mmap_disable = no - -# Rely on O_EXCL to work when creating dotlock files. NFS supports O_EXCL -# since version 3, so this should be safe to use nowadays by default. -#dotlock_use_excl = yes - -# When to use fsync() or fdatasync() calls: -#   optimized (default): Whenever necessary to avoid losing important data -#   always: Useful with e.g. NFS when write()s are delayed -#   never: Never use it (best performance, but crashes can lose data) -#mail_fsync = optimized - -# Locking method for index files. Alternatives are fcntl, flock and dotlock. -# Dotlocking uses some tricks which may create more disk I/O than other locking -# methods. NFS users: flock doesn't work, remember to change mmap_disable. -#lock_method = fcntl - -# Directory where mails can be temporarily stored. Usually it's used only for -# mails larger than >= 128 kB. It's used by various parts of Dovecot, for -# example LDA/LMTP while delivering large mails or zlib plugin for keeping -# uncompressed mails. -#mail_temp_dir = /tmp - -# Valid UID range for users, defaults to 500 and above. This is mostly -# to make sure that users can't log in as daemons or other system users. -# Note that denying root logins is hardcoded to dovecot binary and can't -# be done even if first_valid_uid is set to 0. -#first_valid_uid = 500 -#last_valid_uid = 0 - -# Valid GID range for users, defaults to non-root/wheel. Users having -# non-valid GID as primary group ID aren't allowed to log in. If user -# belongs to supplementary groups with non-valid GIDs, those groups are -# not set. -#first_valid_gid = 1 -#last_valid_gid = 0 - -# Maximum allowed length for mail keyword name. It's only forced when trying -# to create new keywords. -#mail_max_keyword_length = 50 - -# ':' separated list of directories under which chrooting is allowed for mail -# processes (ie. /var/mail will allow chrooting to /var/mail/foo/bar too). -# This setting doesn't affect login_chroot, mail_chroot or auth chroot -# settings. If this setting is empty, "/./" in home dirs are ignored. -# WARNING: Never add directories here which local users can modify, that -# may lead to root exploit. Usually this should be done only if you don't -# allow shell access for users. <doc/wiki/Chrooting.txt> -#valid_chroot_dirs =  - -# Default chroot directory for mail processes. This can be overridden for -# specific users in user database by giving /./ in user's home directory -# (eg. /home/./user chroots into /home). Note that usually there is no real -# need to do chrooting, Dovecot doesn't allow users to access files outside -# their mail directory anyway. If your home directories are prefixed with -# the chroot directory, append "/." to mail_chroot. <doc/wiki/Chrooting.txt> -#mail_chroot =  - -# UNIX socket path to master authentication server to find users. -# This is used by imap (for shared users) and lda. -#auth_socket_path = /var/run/dovecot/auth-userdb - -# Directory where to look up mail plugins. -#mail_plugin_dir = /usr/lib/dovecot - -# Space separated list of plugins to load for all services. Plugins specific to -# IMAP, LDA, etc. are added to this list in their own .conf files. -#mail_plugins =  - -## -## Mailbox handling optimizations -## - -# Mailbox list indexes can be used to optimize IMAP STATUS commands. They are -# also required for IMAP NOTIFY extension to be enabled. -#mailbox_list_index = yes - -# Trust mailbox list index to be up-to-date. This reduces disk I/O at the cost -# of potentially returning out-of-date results after e.g. server crashes. -# The results will be automatically fixed once the folders are opened. -#mailbox_list_index_very_dirty_syncs = yes - -# Should INBOX be kept up-to-date in the mailbox list index? By default it's -# not, because most of the mailbox accesses will open INBOX anyway. -#mailbox_list_index_include_inbox = no - -# The minimum number of mails in a mailbox before updates are done to cache -# file. This allows optimizing Dovecot's behavior to do less disk writes at -# the cost of more disk reads. -#mail_cache_min_mail_count = 0 - -# When IDLE command is running, mailbox is checked once in a while to see if -# there are any new mails or other changes. This setting defines the minimum -# time to wait between those checks. Dovecot can also use inotify and -# kqueue to find out immediately when changes occur. -#mailbox_idle_check_interval = 30 secs - -# Save mails with CR+LF instead of plain LF. This makes sending those mails -# take less CPU, especially with sendfile() syscall with Linux and FreeBSD. -# But it also creates a bit more disk I/O which may just make it slower. -# Also note that if other software reads the mboxes/maildirs, they may handle -# the extra CRs wrong and cause problems. -#mail_save_crlf = no - -# Max number of mails to keep open and prefetch to memory. This only works with -# some mailbox formats and/or operating systems. -#mail_prefetch_count = 0 - -# How often to scan for stale temporary files and delete them (0 = never). -# These should exist only after Dovecot dies in the middle of saving mails. -#mail_temp_scan_interval = 1w - -# How many slow mail accesses sorting can perform before it returns failure. -# With IMAP the reply is: NO [LIMIT] Requested sort would have taken too long. -# The untagged SORT reply is still returned, but it's likely not correct. -#mail_sort_max_read_count = 0 - -protocol !indexer-worker { -  # If folder vsize calculation requires opening more than this many mails from -  # disk (i.e. mail sizes aren't in cache already), return failure and finish -  # the calculation via indexer process. Disabled by default. This setting must -  # be 0 for indexer-worker processes. -  #mail_vsize_bg_after_count = 0 -} - -## -## Maildir-specific settings -## - -# By default LIST command returns all entries in maildir beginning with a dot. -# Enabling this option makes Dovecot return only entries which are directories. -# This is done by stat()ing each entry, so it causes more disk I/O. -# (For systems setting struct dirent->d_type, this check is free and it's -# done always regardless of this setting) -#maildir_stat_dirs = no - -# When copying a message, do it with hard links whenever possible. This makes -# the performance much better, and it's unlikely to have any side effects. -#maildir_copy_with_hardlinks = yes - -# Assume Dovecot is the only MUA accessing Maildir: Scan cur/ directory only -# when its mtime changes unexpectedly or when we can't find the mail otherwise. -#maildir_very_dirty_syncs = no - -# If enabled, Dovecot doesn't use the S=<size> in the Maildir filenames for -# getting the mail's physical size, except when recalculating Maildir++ quota. -# This can be useful in systems where a lot of the Maildir filenames have a -# broken size. The performance hit for enabling this is very small. -#maildir_broken_filename_sizes = no - -# Always move mails from new/ directory to cur/, even when the \Recent flags -# aren't being reset. -#maildir_empty_new = no - -## -## mbox-specific settings -## - -# Which locking methods to use for locking mbox. There are four available: -#  dotlock: Create <mailbox>.lock file. This is the oldest and most NFS-safe -#           solution. If you want to use /var/mail/ like directory, the users -#           will need write access to that directory. -#  dotlock_try: Same as dotlock, but if it fails because of permissions or -#               because there isn't enough disk space, just skip it. -#  fcntl  : Use this if possible. Works with NFS too if lockd is used. -#  flock  : May not exist in all systems. Doesn't work with NFS. -#  lockf  : May not exist in all systems. Doesn't work with NFS. -# -# You can use multiple locking methods; if you do the order they're declared -# in is important to avoid deadlocks if other MTAs/MUAs are using multiple -# locking methods as well. Some operating systems don't allow using some of -# them simultaneously. -#mbox_read_locks = fcntl -#mbox_write_locks = dotlock fcntl - -# Maximum time to wait for lock (all of them) before aborting. -#mbox_lock_timeout = 5 mins - -# If dotlock exists but the mailbox isn't modified in any way, override the -# lock file after this much time. -#mbox_dotlock_change_timeout = 2 mins - -# When mbox changes unexpectedly we have to fully read it to find out what -# changed. If the mbox is large this can take a long time. Since the change -# is usually just a newly appended mail, it'd be faster to simply read the -# new mails. If this setting is enabled, Dovecot does this but still safely -# fallbacks to re-reading the whole mbox file whenever something in mbox isn't -# how it's expected to be. The only real downside to this setting is that if -# some other MUA changes message flags, Dovecot doesn't notice it immediately. -# Note that a full sync is done with SELECT, EXAMINE, EXPUNGE and CHECK  -# commands. -#mbox_dirty_syncs = yes - -# Like mbox_dirty_syncs, but don't do full syncs even with SELECT, EXAMINE, -# EXPUNGE or CHECK commands. If this is set, mbox_dirty_syncs is ignored. -#mbox_very_dirty_syncs = no - -# Delay writing mbox headers until doing a full write sync (EXPUNGE and CHECK -# commands and when closing the mailbox). This is especially useful for POP3 -# where clients often delete all mails. The downside is that our changes -# aren't immediately visible to other MUAs. -#mbox_lazy_writes = yes - -# If mbox size is smaller than this (e.g. 100k), don't write index files. -# If an index file already exists it's still read, just not updated. -#mbox_min_index_size = 0 - -# Mail header selection algorithm to use for MD5 POP3 UIDLs when -# pop3_uidl_format=%m. For backwards compatibility we use apop3d inspired -# algorithm, but it fails if the first Received: header isn't unique in all -# mails. An alternative algorithm is "all" that selects all headers. -#mbox_md5 = apop3d - -## -## mdbox-specific settings -## - -# Maximum dbox file size until it's rotated. -#mdbox_rotate_size = 10M - -# Maximum dbox file age until it's rotated. Typically in days. Day begins -# from midnight, so 1d = today, 2d = yesterday, etc. 0 = check disabled. -#mdbox_rotate_interval = 0 - -# When creating new mdbox files, immediately preallocate their size to -# mdbox_rotate_size. This setting currently works only in Linux with some -# filesystems (ext4, xfs). -#mdbox_preallocate_space = no - -## -## Mail attachments -## - -# sdbox and mdbox support saving mail attachments to external files, which -# also allows single instance storage for them. Other backends don't support -# this for now. - -# Directory root where to store mail attachments. Disabled, if empty. -#mail_attachment_dir = - -# Attachments smaller than this aren't saved externally. It's also possible to -# write a plugin to disable saving specific attachments externally. -#mail_attachment_min_size = 128k - -# Filesystem backend to use for saving attachments: -#  posix : No SiS done by Dovecot (but this might help FS's own deduplication) -#  sis posix : SiS with immediate byte-by-byte comparison during saving -#  sis-queue posix : SiS with delayed comparison and deduplication -#mail_attachment_fs = sis posix - -# Hash format to use in attachment filenames. You can add any text and -# variables: %{md4}, %{md5}, %{sha1}, %{sha256}, %{sha512}, %{size}. -# Variables can be truncated, e.g. %{sha256:80} returns only first 80 bits -#mail_attachment_hash = %{sha1} - -# Settings to control adding $HasAttachment or $HasNoAttachment keywords. -# By default, all MIME parts with Content-Disposition=attachment, or inlines -# with filename parameter are consired attachments. -#   add-flags - Add the keywords when saving new mails or when fetching can -#      do it efficiently. -#   content-type=type or !type - Include/exclude content type. Excluding will -#     never consider the matched MIME part as attachment. Including will only -#     negate an exclusion (e.g. content-type=!foo/* content-type=foo/bar). -#   exclude-inlined - Exclude any Content-Disposition=inline MIME part. -#mail_attachment_detection_options = diff --git a/etc/dovecot/conf.d/10-master.conf b/etc/dovecot/conf.d/10-master.conf deleted file mode 100644 index fb03c64c..00000000 --- a/etc/dovecot/conf.d/10-master.conf +++ /dev/null @@ -1,135 +0,0 @@ -#default_process_limit = 100 -#default_client_limit = 1000 - -# Default VSZ (virtual memory size) limit for service processes. This is mainly -# intended to catch and kill processes that leak memory before they eat up -# everything. -#default_vsz_limit = 256M - -# Login user is internally used by login processes. This is the most untrusted -# user in Dovecot system. It shouldn't have access to anything at all. -#default_login_user = dovenull - -# Internal user is used by unprivileged processes. It should be separate from -# login user, so that login processes can't disturb other processes. -#default_internal_user = dovecot - -service imap-login { -  inet_listener imap { -    #port = 143 -  } -  inet_listener imaps { -    #port = 993 -    #ssl = yes -  } - -  # 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 = $default_vsz_limit -} - -service pop3-login { -  inet_listener pop3 { -    #port = 110 -  } -  inet_listener pop3s { -    #port = 995 -    #ssl = yes -  } -} - -service submission-login { -  inet_listener submission { -    #port = 587 -  } -  inet_listener submissions { -    #port = 465 -  } -} - -service lmtp { -  unix_listener lmtp { -    #mode = 0666 -  } - -  # Create inet listener only if you can't use the above UNIX socket -  #inet_listener lmtp { -    # Avoid making LMTP visible for the entire internet -    #address = -    #port =  -  #} -} - -service imap { -  # Most of the memory goes to mmap()ing files. You may need to increase this -  # limit if you have huge mailboxes. -  #vsz_limit = $default_vsz_limit - -  # Max. number of IMAP processes (connections) -  #process_limit = 1024 -} - -service pop3 { -  # Max. number of POP3 processes (connections) -  #process_limit = 1024 -} - -service submission { -  # Max. number of SMTP Submission processes (connections) -  #process_limit = 1024 -} - -service auth { -  # auth_socket_path points to this userdb socket by default. It's typically -  # used by dovecot-lda, doveadm, possibly imap process, etc. Users that have -  # full permissions to this socket are able to get a list of all usernames and -  # get the results of everyone's userdb lookups. -  # -  # The default 0666 mode allows anyone to connect to the socket, but the -  # userdb lookups will succeed only if the userdb returns an "uid" field that -  # matches the caller process's UID. Also if caller's uid or gid matches the -  # socket's uid or gid the lookup succeeds. Anything else causes a failure. -  # -  # To give the caller full permissions to lookup all users, set the mode to -  # something else than 0666 and Dovecot lets the kernel enforce the -  # permissions (e.g. 0777 allows everyone full permissions). -  #unix_listener auth-userdb { -    #mode = 0666 -    #user =  -    #group =  -  #} - -  # Postfix smtp-auth -  unix_listener /var/spool/postfix/private/auth { -    mode = 0666 -    user = postfix -    group = postfix -  } - -  # Auth process is run as this user. -  #user = $default_internal_user -} - -service auth-worker { -  # Auth worker process is run as root by default, so that it can access -  # /etc/shadow. If this isn't necessary, the user should be changed to -  # $default_internal_user. -  #user = root -} - -service dict { -  # If dict proxy is used, mail processes should have access to its socket. -  # For example: mode=0660, group=vmail and global mail_access_groups=vmail -  unix_listener dict { -    #mode = 0600 -    #user =  -    #group =  -  } -} diff --git a/etc/dovecot/conf.d/10-ssl.conf b/etc/dovecot/conf.d/10-ssl.conf deleted file mode 100644 index b9c2263e..00000000 --- a/etc/dovecot/conf.d/10-ssl.conf +++ /dev/null @@ -1,82 +0,0 @@ -## -## SSL settings -## - -# SSL/TLS support: yes, no, required. <doc/wiki/SSL.txt> -ssl = required - -# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before -# dropping root privileges, so keep the key file unreadable by anyone but -# root. Included doc/mkcert.sh can be used to easily generate self-signed -# certificate, just make sure to update the domains in dovecot-openssl.cnf -ssl_cert = </etc/postfix/flylightning.pem -ssl_key = </etc/postfix/flylightning.key - -# If key file is password protected, give the password here. Alternatively -# give it when starting dovecot with -p parameter. Since this file is often -# world-readable, you may want to place this setting instead to a different -# root owned 0600 file by using ssl_key_password = <path. -#ssl_key_password = - -# PEM encoded trusted certificate authority. Set this only if you intend to use -# ssl_verify_client_cert=yes. The file should contain the CA certificate(s) -# followed by the matching CRL(s). (e.g. ssl_ca = </etc/ssl/certs/ca.pem) -#ssl_ca =  - -# Require that CRL check succeeds for client certificates. -#ssl_require_crl = yes - -# Directory and/or file for trusted SSL CA certificates. These are used only -# when Dovecot needs to act as an SSL client (e.g. imapc backend or -# submission service). The directory is usually /etc/ssl/certs in -# Debian-based systems and the file is /etc/pki/tls/cert.pem in -# RedHat-based systems. Note that ssl_client_ca_file isn't recommended with -# large CA bundles, because it leads to excessive memory usage. -#ssl_client_ca_dir = -#ssl_client_ca_file = - -# Require valid cert when connecting to a remote server -#ssl_client_require_valid_cert = yes - -# Request client to send a certificate. If you also want to require it, set -# auth_ssl_require_client_cert=yes in auth section. -#ssl_verify_client_cert = no - -# Which field from certificate to use for username. commonName and -# x500UniqueIdentifier are the usual choices. You'll also need to set -# auth_ssl_username_from_cert=yes. -#ssl_cert_username_field = commonName - -# SSL DH parameters -# Generate new params with `openssl dhparam -out /etc/dovecot/dh.pem 4096` -# Or migrate from old ssl-parameters.dat file with the command dovecot -# gives on startup when ssl_dh is unset. -ssl_dh = </etc/dovecot/dh.pem - -# Minimum SSL protocol version to use. Potentially recognized values are SSLv3, -# TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3, depending on the OpenSSL version used. -# -# Dovecot also recognizes values ANY and LATEST. ANY matches with any protocol -# version, and LATEST matches with the latest version supported by library. -#ssl_min_protocol = TLSv1.2 - -# SSL ciphers to use, the default is: -#ssl_cipher_list = ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH -# To disable non-EC DH, use: -#ssl_cipher_list = ALL:!DH:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH - -# Colon separated list of elliptic curves to use. Empty value (the default) -# means use the defaults from the SSL library. P-521:P-384:P-256 would be an -# example of a valid value. -#ssl_curve_list = - -# Prefer the server's order of ciphers over client's. -#ssl_prefer_server_ciphers = no - -# SSL crypto device to use, for valid values run "openssl engine" -#ssl_crypto_device = - -# SSL extra options. Currently supported options are: -#   compression - Enable compression. -#   no_ticket - Disable SSL session tickets. -#ssl_options = diff --git a/etc/dovecot/conf.d/15-mailboxes.conf b/etc/dovecot/conf.d/15-mailboxes.conf deleted file mode 100644 index 5b2eebae..00000000 --- a/etc/dovecot/conf.d/15-mailboxes.conf +++ /dev/null @@ -1,99 +0,0 @@ -## -## Mailbox definitions -## - -# Each mailbox is specified in a separate mailbox section. The section name -# specifies the mailbox name. If it has spaces, you can put the name -# "in quotes". These sections can contain the following mailbox settings: -# -# auto: -#   Indicates whether the mailbox with this name is automatically created -#   implicitly when it is first accessed. The user can also be automatically -#   subscribed to the mailbox after creation. The following values are -#   defined for this setting: -#  -#     no        - Never created automatically. -#     create    - Automatically created, but no automatic subscription. -#     subscribe - Automatically created and subscribed. -#   -# special_use: -#   A space-separated list of SPECIAL-USE flags (RFC 6154) to use for the -#   mailbox. There are no validity checks, so you could specify anything -#   you want in here, but it's not a good idea to use flags other than the -#   standard ones specified in the RFC: -# -#     \All       - This (virtual) mailbox presents all messages in the -#                  user's message store. -#     \Archive   - This mailbox is used to archive messages. -#     \Drafts    - This mailbox is used to hold draft messages. -#     \Flagged   - This (virtual) mailbox presents all messages in the -#                  user's message store marked with the IMAP \Flagged flag. -#     \Important - This (virtual) mailbox presents all messages in the -#                  user's message store deemed important to user. -#     \Junk      - This mailbox is where messages deemed to be junk mail -#                  are held. -#     \Sent      - This mailbox is used to hold copies of messages that -#                  have been sent. -#     \Trash     - This mailbox is used to hold messages that have been -#                  deleted. -# -# comment: -#   Defines a default comment or note associated with the mailbox. This -#   value is accessible through the IMAP METADATA mailbox entries -#   "/shared/comment" and "/private/comment". Users with sufficient -#   privileges can override the default value for entries with a custom -#   value. - -# NOTE: Assumes "namespace inbox" has been defined in 10-mail.conf. -namespace inbox { -  # These mailboxes are widely used and could perhaps be created automatically: -  mailbox Drafts { -    special_use = \Drafts -    auto = subscribe -  } -  mailbox Junk { -    special_use = \Junk -    auto = subscribe -  } -  mailbox Trash { -    special_use = \Trash -    auto = subscribe -    # https://doc.dovecot.org/configuration_manual/namespace/#core_setting-namespace/mailbox/autoexpunge -    # https://github.com/LukeSmithxyz/emailwiz/blob/558c4de108a472eca70abca20888de2981ff17ca/emailwiz.sh#L259 -	# https://doc.dovecot.org/settings/types/#time -    autoexpunge = 30d -  } - -  # For \Sent mailboxes there are two widely used names. We'll mark both of -  # them as \Sent. User typically deletes one of them if duplicates are created. -  mailbox Sent { -    special_use = \Sent -    auto = subscribe -  } -  #mailbox "Sent Messages" { -  #  special_use = \Sent -  #} - -  mailbox Archive { -    special_use = \Archive -    auto = subscribe -  } - -  # If you have a virtual "All messages" mailbox: -  #mailbox virtual/All { -  #  special_use = \All -  #  comment = All my messages -  #} - -  # If you have a virtual "Flagged" mailbox: -  #mailbox virtual/Flagged { -  #  special_use = \Flagged -  #  comment = All my flagged messages -  #} - -  # If you have a virtual "Important" mailbox: -  #mailbox virtual/Important { -  #  special_use = \Important -  #  comment = All my important messages -  #} -} diff --git a/etc/dovecot/dovecot.conf b/etc/dovecot/dovecot.conf new file mode 100644 index 00000000..e7d11a07 --- /dev/null +++ b/etc/dovecot/dovecot.conf @@ -0,0 +1,48 @@ +# Edited from `doveconf -nP`, see https://doc.dovecot.org/2.3/configuration_manual/quick_configuration/#split-configuration-files +mail_location = maildir:~/Mail:INBOX=~/Mail/Inbox:LAYOUT=fs +namespace inbox { +	inbox = yes +	location = +	mailbox Archive { +		auto = subscribe +		special_use = \Archive +	} +	mailbox Drafts { +		auto = subscribe +		special_use = \Drafts +	} +	mailbox Junk { +		auto = subscribe +		special_use = \Junk +	} +	mailbox Sent { +		auto = subscribe +		special_use = \Sent +	} +	mailbox Trash { +		auto = subscribe +		# https://doc.dovecot.org/configuration_manual/namespace/#core_setting-namespace/mailbox/autoexpunge +		# https://github.com/LukeSmithxyz/emailwiz/blob/558c4de108a472eca70abca20888de2981ff17ca/emailwiz.sh#L259 +		# https://doc.dovecot.org/settings/types/#time +		autoexpunge = 30 days +		special_use = \Trash +	} +	prefix = +} +passdb { +	driver = pam +} +service auth { +	unix_listener /var/spool/postfix/private/auth { +		group = postfix +		mode = 0666 +		user = postfix +	} +} +ssl = required +ssl_cert = </etc/postfix/flylightning.pem +ssl_dh = </etc/dovecot/dh.pem +ssl_key = </etc/postfix/flylightning.key +userdb { +	driver = passwd +} | 
