dovecot listening imaps external interface

Aki Tuomi aki.tuomi at dovecot.fi
Mon Oct 2 19:53:30 EEST 2017


> On October 2, 2017 at 7:29 PM David Mehler <dave.mehler at gmail.com> wrote:
> 
> 
> Hello,
> 
> I'm trying to get dovecot to listen on specific interfaces. On the
> server itself I've got webmail going so am needing imap on 143. I do
> not want this on the external server interface, so I am wanting imaps
> port 993 external only. The configuration looks right, but Dovecot
> isn't showing anything listening on port 993 at all.
> 

you have disabled ssl, see comment about this.

> Unrelated, my public and shared folders are not working.
> 

i added a comment about your shared folder, but no idea why your public isn't working. Try turning on mail_debug=yes and then write some explanation on how it is not working.

> Can anyone suggest fixes for either of these issues?
> 
> Thanks.
> Dave.
> 

Aki

> 
> # 2.2.32 (dfbe293d4): /usr/local/etc/dovecot/dovecot.conf
> # Pigeonhole version 0.4.20 (7cd71ba)
> # OS: FreeBSD 10.3-RELEASE-p20 amd64
> auth_default_realm = domain.com
> auth_mechanisms = plain login
> auth_realms = domain.com domain2.com
> dict {
>   acl = mysql:/usr/local/etc/dovecot/shared-folders.conf
>   sqlquota = mysql:/usr/local/etc/dovecot/quota.conf
> }
> first_valid_gid = 999
> first_valid_uid = 999
> hostname = mail.domain.com
> imap_client_workarounds = delay-newmail tb-extra-mailbox-sep tb-lsub-flags
> last_valid_gid = 999
> last_valid_uid = 999
> lda_mailbox_autocreate = yes
> lda_mailbox_autosubscribe = yes
> listen = 127.0.0.1 xxx.xxx.xxx.xxx
> lmtp_rcpt_check_quota = yes
> mail_access_groups = vmail
> mail_fsync = never
> mail_gid = vmail
> mail_home = /home/vmail/%d/%n
> mail_location = maildir:~/mail/:LAYOUT=fs:INDEX=~/mail/
> mail_plugins = acl mail_log notify quota quota_clone trash virtual welcome zlib
> mail_server_admin = mailto:postmaster at domain.com
> mail_uid = vmail
> mailbox_list_index = yes
> managesieve_notify_capability = mailto
> managesieve_sieve_capability = fileinto reject envelope
> encoded-character vacation subaddress comparator-i;ascii-numeric
> relational regex imap4flags copy include variables body enotify
> environment mailbox date index ihave duplicate mime foreverypart
> extracttext imapflags notify imapsieve vnd.dovecot.imapsieve
> namespace {
>   hidden = no
>   list = yes
>   location = maildir:/home/vmail/public/:LAYOUT=fs:CONTROL=~/mail/public:INDEXPVT=~/mail/public:INDEX=~/mail/public
>   mailbox TestFolder {
>     auto = subscribe
>     comment = Public Folder for message sharing
>   }
>   prefix = public/
>   separator = /
>   subscriptions = yes
>   type = public
> }
> namespace {
>   list = yes
>   location = maildir:~/mail/:INDEX=~/mail/shared/%%Ld/%%Ln

you want to use maildir:%%h/mail here.

>   prefix = shared/%%u/
>   separator = /
>   subscriptions = yes
>   type = shared
> }
> namespace {
>   location = virtual:/usr/local/etc/dovecot/virtual
>   mailbox All {
>     auto = subscribe
>     comment = All my messages
>     special_use = \All
>   }
>   prefix = virtual/
>   separator = /
> }
> namespace inbox {
>   inbox = yes
>   location =
>   mailbox Archive {
>     auto = no
>     special_use = \Archive
>   }
>   mailbox Archives {
>     auto = subscribe
>     special_use = \Archive
>   }
>   mailbox "Deleted Messages" {
>     auto = no
>     autoexpunge = 30 days
>     special_use = \Trash
>   }
>   mailbox Drafts {
>     auto = subscribe
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     auto = no
>     autoexpunge = 30 days
>     special_use = \Junk
>   }
>   mailbox "Junk E-mail" {
>     auto = no
>     autoexpunge = 30 days
>     special_use = \Junk
>   }
>   mailbox Sent {
>     auto = subscribe
>     special_use = \Sent
>   }
>   mailbox "Sent Items" {
>     auto = no
>     special_use = \Sent
>   }
>   mailbox "Sent Messages" {
>     auto = no
>     special_use = \Sent
>   }
>   mailbox Spam {
>     auto = subscribe
>     autoexpunge = 30 days
>     special_use = \Junk
>   }
>   mailbox Trash {
>     auto = subscribe
>     autoexpunge = 30 days
>     special_use = \Trash
>   }
>   prefix =
>   separator = /
>   type = private
> }
> passdb {
>   args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
>   driver = sql
> }
> plugin {
>   acl = vfile:/usr/local/etc/dovecot/global-acls:cache_secs=300
>   acl_anyone = allow
>   acl_shared_dict = proxy::acl
>   imapsieve_mailbox1_before =
> file:/usr/local/lib/dovecot/sieve/report-spam.sieve
>   imapsieve_mailbox1_causes = COPY
>   imapsieve_mailbox1_name = Spam
>   imapsieve_mailbox2_before = file:/usr/local/lib/dovecot/sieve/report-ham.sieve
>   imapsieve_mailbox2_causes = COPY
>   imapsieve_mailbox2_from = Spam
>   imapsieve_mailbox2_name = *
>   mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
>   mail_log_fields = uid box msgid size
>   quota = count:User quota
>   quota_clone_dict = proxy::sqlquota
>   quota_exceeded_message = Storage quota for this account has been
> exceeded, please try again later.
>   quota_grace = 10%%
>   quota_status_nouser = DUNNO
>   quota_status_overquota = 552 5.2.2 Mailbox is full
>   quota_status_success = DUNNO
>   quota_vsizes = true
>   quota_warning = storage=100%% quota-exceeded 100 %u
>   quota_warning2 = storage=95%% quota-warning 95 %u
>   quota_warning3 = storage=90%% quota-warning 90 %u
>   quota_warning4 = storage=85%% quota-warning 85 %u
>   quota_warning5 = storage=75%% quota-warning 75 %u
>   sieve = ~/.dovecot.sieve
>   sieve_before = /home/vmail/sieve/before.d
>   sieve_default = /home/vmail/sieve/default.sieve
>   sieve_dir = ~/sieve
>   sieve_extensions = +notify +imapflags
>   sieve_global_dir = /home/vmail/sieve
>   sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.execute
>   sieve_max_redirects = 30
>   sieve_max_script_size = 1M
>   sieve_pipe_bin_dir = /usr/local/lib/dovecot/sieve
>   sieve_plugins = sieve_imapsieve sieve_extprograms
>   sieve_user_log = /home/vmail/sieve/sieve_error.log
>   trash = /usr/local/etc/dovecot/trash.conf
>   welcome_script = welcome %u
>   welcome_wait = yes
> }
> postmaster_address = postmaster at domain.com
> protocols = imap lmtp sieve
> sendmail_path = /usr/local/sbin/sendmail
> service auth-worker {
>   user = $default_internal_user
> }
> service auth {
>   unix_listener /var/spool/postfix/private/auth {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
>   unix_listener auth-userdb {
>     group = vmail
>     mode = 0666
>     user = vmail
>   }
> }
> service dict {
>   unix_listener dict {
>     group = vmail
>     mode = 0660
>     user = vmail
>   }
> }
> service imap-login {
>   inet_listener imap {
>     address = 127.0.0.1
>     port = 143
>   }
>   inet_listener imaps {
>     address = xxx.xxx.xxx.xxx
>     port = 993
>     ssl = yes
>   }
> }
> service imap-postlogin {
>   executable = script-login /usr/local/etc/dovecot/last_login_imap.sh
>   user = $default_internal_user
> }
> service imap {
>   executable = imap imap-postlogin
> }
> service lmtp {
>   unix_listener /var/spool/postfix/private/dovecot-lmtp {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
> }
> service managesieve-login {
>   inet_listener sieve {
>     address = 127.0.0.1
>     port = 4190
>   }
> }
> service quota-status {
>   client_limit = 1
>   executable = quota-status -p postfix
>   unix_listener /var/spool/postfix/private/dovecot-quota {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
> }
> service quota-warning {
>   executable = script /usr/local/etc/dovecot/quota-warning.sh
>   unix_listener quota-warning {
>     group = vmail
>     mode = 0660
>     user = vmail
>   }
>   user = vmail
> }
> service welcome {
>   executable = script /usr/local/etc/dovecot/welcome.sh
>   unix_listener welcome {
>     user = vmail
>   }
>   user = vmail
> }
> ssl = no

you should set this to 'yes'. 
 

> ssl_cert = </usr/local/etc/ssl/acme/domain.com/fullchain.pem
> ssl_cipher_list = ...
> ssl_dh_parameters_length = 2048
> ssl_key =  # hidden, use -P to show it
> ssl_options = no_compression
> ssl_prefer_server_ciphers = yes
> ssl_protocols = !SSLv2 !SSLv3 !TLSv1 !TLSv1.1
> userdb {
>   args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
>   driver = sql
> }
> protocol lmtp {
>   mail_plugins = acl mail_log notify quota quota_clone trash virtual
> welcome zlib quota sieve
> }
> protocol lda {
>   mail_fsync = optimized
>   mail_plugins = acl mail_log notify quota quota_clone trash virtual
> welcome zlib sieve
> }
> protocol imap {
>   mail_plugins = acl mail_log notify quota quota_clone trash virtual
> welcome zlib imap_acl imap_quota imap_sieve imap_zlib last_login
> }


More information about the dovecot mailing list