<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Greetings,</p>
    <p>We're in the process of upgrading our Dovecot server to new
      hardware and new expanded storage.  We planned on using an NFS
      share for the mail storage, as we're running Postfix / Dovecot on
      a VM and wanted to separate out the mail storage from the VM for
      backup reasons.</p>
    <p>I read as much as I could find on line regarding configuring
      Dovecot to use NFS, and set it up as best I could, but I'm still
      running into lock errors e.g.:</p>
    <pre>Sep 25 10:30:35 triata4 dovecot: imap(<a class="moz-txt-link-abbreviated" href="mailto:user@triata.globalchange.media">user@triata.globalchange.media</a>)<75580><enQ/AWSTkQkKCgDu>: Error: fcntl(/vmail/triata.globalchange.media/user/dovecot.index.log, write-lock, F_SETLKW) locking failed: No locks available
Sep 25 10:30:35 triata4 dovecot: imap(<a class="moz-txt-link-abbreviated" href="mailto:user@triata.globalchange.media">user@triata.globalchange.media</a>)<75580><enQ/AWSTkQkKCgDu>: Error: mail_index_wait_lock_fd() failed with file /vmail/triata.globalchange.media/user/dovecot.index.log: No locks available

</pre>
    <p>Also, I have been trying to configure the Dovecot submission
      service to authenticate with Postfix, but I keep running into
      errors which are related to how I'm configuring the
      authentication.  How do we set the user@domain and password string
      for submission in the configs?</p>
    <p>Thank you.<br>
    </p>
    <p>Please see doveconf -n below, if you see any other errors in this
      config, I'd be grateful if you pointed them out:<br>
    </p>
    <p># 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf<br>
      # Pigeonhole version 0.5.7.2 (7372921a)<br>
      # OS: Linux 3.10.0-957.27.2.el7.x86_64 x86_64 CentOS Linux release
      7.6.1810 (Core)  nfs<br>
      auth_debug = yes<br>
      auth_debug_passwords = yes<br>
      auth_mechanisms = plain login<br>
      auth_verbose = yes<br>
      auth_verbose_passwords = plain<br>
      debug_log_path = /var/log/dovecot-debug.log<br>
      deliver_log_format = msgid=%m: from=%f: %$<br>
      hostname = triata.globalchange.media<br>
      mail_debug = yes<br>
      mail_fsync = always<br>
      mail_home = /vmail/%d/%n/home<br>
      mail_location = maildir:/vmail/%d/%n<br>
      managesieve_notify_capability = mailto<br>
      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<br>
      namespace inbox {<br>
        inbox = yes<br>
        location = <br>
        mailbox Drafts {<br>
          special_use = \Drafts<br>
        }<br>
        mailbox Junk {<br>
          special_use = \Junk<br>
        }<br>
        mailbox Sent {<br>
          special_use = \Sent<br>
        }<br>
        mailbox "Sent Messages" {<br>
          special_use = \Sent<br>
        }<br>
        mailbox Trash {<br>
          special_use = \Trash<br>
        }<br>
        prefix = <br>
        separator = /<br>
        type = private<br>
      }<br>
      passdb {<br>
        args = /etc/dovecot/dovecot-mysql.conf<br>
        driver = sql<br>
      }<br>
      plugin {<br>
        mail_log_fields = uid box msgid from flags<br>
        sieve =
      <a class="moz-txt-link-freetext" href="file:/vmail/%d/%n/sieve;active=/vmail/%d/%n/.dovecot.sieve">file:/vmail/%d/%n/sieve;active=/vmail/%d/%n/.dovecot.sieve</a><br>
      }<br>
      protocols = imap lmtp submission sieve<br>
      service auth {<br>
        unix_listener /var/spool/postfix/private/auth {<br>
          mode = 0666<br>
        }<br>
        unix_listener auth-userdb {<br>
          group = vmail<br>
          mode = 0666<br>
          user = vmail<br>
        }<br>
      }<br>
      service imap-login {<br>
        inet_listener imap {<br>
          port = 143<br>
        }<br>
        inet_listener imaps {<br>
          port = 993<br>
          ssl = yes<br>
        }<br>
      }<br>
      service lmtp {<br>
        unix_listener lmtp {<br>
          mode = 0666<br>
        }<br>
      }<br>
      service managesieve-login {<br>
        inet_listener sieve {<br>
          port = 4190<br>
        }<br>
        process_min_avail = 0<br>
        service_count = 1<br>
        vsz_limit = 64 M<br>
      }<br>
      service managesieve {<br>
        process_limit = 1024<br>
      }<br>
      service submission-login {<br>
        inet_listener submission {<br>
          port = 587<br>
        }<br>
      }<br>
      ssl_cert =
      </etc/letsencrypt/live/triata.globalchange.media/fullchain.pem<br>
      ssl_key = # hidden, use -P to show it<br>
      submission_relay_host = triata.globalchange.media<br>
      submission_relay_password = # hidden, use -P to show it<br>
      submission_relay_port = 587<br>
      submission_relay_ssl = starttls<br>
      submission_relay_trusted = yes<br>
      submission_relay_user = %u<br>
      userdb {<br>
        args = /etc/dovecot/dovecot-mysql.conf<br>
        driver = sql<br>
      }<br>
      protocol lda {<br>
        mail_plugins = <br>
      }<br>
    </p>
  </body>
</html>