Error namespace configuration error all list yes namespaces must use the same separator

Namespaces Dovecot supports fully configurable namespaces. Their original and primary purpose is to provide Namespace IMAP extension (RFC 2342) support, which allows giving IMAP clients hints about where to locate mailboxes and whether they’re private, shared or public. Unfortunately most IMAP clients don’t support this extension. Dovecot namespaces can be used for several other […]

Содержание

  1. Namespaces
  2. Configuration
  3. Hierarchy separators
  4. Namespace settings
  5. Shared Mailboxes
  6. Examples
  7. Mixed mbox and Maildir
  8. Backwards Compatibility: UW-IMAP
  9. Backwards Compatibility: Courier IMAP
  10. Namespaces¶
  11. Configuration¶
  12. Namespace types¶
  13. Hierarchy separators¶
  14. Namespace settings¶
  15. From userdb¶
  16. Dovecot Support for Shared Mailboxes¶
  17. Examples:В¶
  18. Mixed mbox and Maildir¶
  19. Backwards Compatibility: UW-IMAP¶
  20. Backwards Compatibility: Courier IMAP¶
  21. Per-user Namespace Location From SQL¶
  22. Mailbox settings¶

Namespaces

Dovecot supports fully configurable namespaces. Their original and primary purpose is to provide Namespace IMAP extension (RFC 2342) support, which allows giving IMAP clients hints about where to locate mailboxes and whether they’re private, shared or public. Unfortunately most IMAP clients don’t support this extension.

Dovecot namespaces can be used for several other purposes too:

  • Changing the hierarchy separator
  • Providing backwards compatibility when switching from another IMAP server

Provides support for public and shared mailboxes

  • Allows having mails in multiple different locations with possibly different formats
  • Configuration

    By default no namespaces are explicitly defined in dovecot.conf. In this situation Dovecot creates a private namespace automatically. This automatic namespace creation isn’t done when namespaces are defined, so if you intend to simply add a new namespace, be sure to also add the default private namespace.

    There are 3 types of namespaces:

      private: Typically contains only user’s own private mailboxes.

    shared: Contains other users’ shared mailboxes (v1.2+).

    Hierarchy separators

    Hierarchy separator specifies the character that is used to separate a parent mailbox from its child mailbox. For example if you have a mailbox «foo» with a child mailbox «bar», the full path to the child mailbox would be «foo/bar» if the separator was ‘/’. With a separator ‘.’ it would be «foo.bar».

    By default the separator is the same as the mailbox list layout separator. This setting affects only how the separator is visible to clients, it doesn’t change the mailbox list layout separator. For example with Maildir++ layout the default separator is ‘.’ and if the separator was changed, the mailbox name in filesystem would still be called «.foo.bar». Currently it’s not possible to change the layout separator without modifying the source code. See also listescape plugin.

    A commonly used separator is ‘/’. It probably causes the least amount of trouble with different IMAP clients.

    You should use the same hierarchy separator for all namespaces. All list=yes namespaces must use the same separator, but if you find it necessary (e.g. for backwards compatibility namespaces) you may use different separators for list=no namespaces.

    Namespace settings

      prefix: The namespace prefix how it’s visible in the NAMESPACE reply (if hidden=no) and mailbox list (if list=yes).

    location: Mailbox location. The default is to use mail_location setting.

  • inbox: «yes», if this namespace contains the user’s INBOX. There is only one INBOX, so only one namespace can have inbox=yes.
  • hidden: «yes», if this namespace shouldn’t be listed in NAMESPACE reply.
  • list (v1.1+): «yes» (default), if this namespace and its mailboxes should be listed by LIST command when the namespace prefix isn’t explicitly specified as a parameter. «children» (v1.2+) means the namespace prefix list listed only if it has child mailboxes.
  • subscriptions (v1.1+): «yes» (default) if this namespace should handle its own subscriptions. If «no», then the first parent namespace with subscriptions=yes will handle it. For example if it’s «no» for a namespace with prefix=foo/bar/, Dovecot first sees if there’s a prefix=foo/ namespace with subscriptions=yes and then a namespace with an empty prefix. If neither is found, an error is given.
  • Examples

    Mixed mbox and Maildir

    If you have your INBOX as mbox in /var/mail/username and the rest of the mailboxes in Maildir format under

    /Maildir, you can do this by creating two namespaces:

    Without the list = no setting (or hidden=yes in v1.0) in the first namespace, clients see the «#mbox» namespace as a non-selectable mailbox named «#mbox» and having child mailboxes (ie. like a directory). The child mailboxes are all the mbox files in

    Backwards Compatibility: UW-IMAP

    When switching from UW-IMAP and you don’t want to give users full access to filesystem, you can create hidden namespaces which allow users to access their mails using their existing namespace settings in clients.

    Backwards Compatibility: Courier IMAP

    You can continue using the same INBOX. namespace as Courier:

    Alternatively you can create the INBOX. as a compatibility name, so old clients can continue using it while new clients will use the empty prefix namespace:

    None: Namespaces (последним исправлял пользователь TimoSirainen 2012-03-29 13:01:16)

    Источник

    Namespaces¶

    Dovecot supports fully configurable namespaces. Their original and primary purpose is to provide Namespace IMAP extension (RFC 2342 ) support, which allows giving IMAP clients hints about where to locate mailboxes and whether they’re private, shared or public. Unfortunately most IMAP clients don’t support this extension.

    Dovecot namespaces can be used for several other purposes too:

    • Changing the hierarchy separator
    • Providing backwards compatibility when switching from another IMAP server
    • Provides support for public and shared mailboxes
    • Allows having mails in multiple different locations with possibly different formats

    Configuration¶

    New in version v2.1.

    There’s a default inbox namespace added in 10-mail.conf . If the configuration doesn’t explicitly specify a namespace (as was in v2.0 and older) a default namespace is created automatically.

    The section name in namespaces (e.g. namespace sectionname < .. >is used only internally within configuration. It’s not required at all, but it allows you to update an existing namespace (like how 15-mailboxes.conf does) or have userdb override namespace settings for specific users namespace/sectionname/prefix=foo/ .

    Namespace types¶

    There are 3 types of namespaces:

    • private: Typically contains only user’s own private mailboxes.
    • shared: Contains other users’ shared mailboxes
    • public: Contains public mailboxes

    Hierarchy separators¶

    Hierarchy separator specifies the character that is used to separate the parent mailbox from its child mailbox. For example if you have a mailbox foo with child mailbox bar , the full path to the child mailbox would be foo/bar with / as the separator, and foo.bar with . as the separator.

    IMAP clients, Sieve scripts and many parts of Dovecot configuration use the configured separator when referring to mailboxes. This means that if you change the separator, you may break things.

    However, changing the separator doesn’t change the on-disk “layout separator”.

    /Maildir/.foo.bar/

    /Maildir/.foo.bar/

    /Maildir/.foo.bar/

    /Maildir/.foo.bar/

    mail_location Layout sep NS sep Mailbox name Directory
    maildir:

    /Maildir

    . . foo.bar
    maildir:

    /Maildir

    . / foo.bar
    maildir:

    /Maildir:LAYOUT=fs

    / . foo.bar
    maildir:

    /Maildir:LAYOUT=fs

    / / foo.bar

    How the “namespace separator” changes only the “Mailbox name”, but doesn’t change the directory where the mails are stored. The “layout separator” can only be changed by changing the LAYOUT, which also affects the entire directory structure.

    The layout separator also restricts the mailbox names. For example if the layout separator is . , you can’t just set separator to / and create a mailbox named foo.bar . If you need to do this, you can use listescape plugin to add escape the mailbox names as necessary.

    A commonly used separator is / . It probably causes the least amount of trouble with different IMAP clients. The ^ separator is troublesome with Thunderbird. If has to be used, it needs to be escaped in configuration:

    You should use the same hierarchy separator for all namespaces. All list=yes namespaces must use the same separator, but if you find it necessary (e.g. for backwards compatibility namespaces) you may use different separators for list=no namespaces.

    Namespace settings¶

    • type: See Namespace types
    • separator: See Hierarchy separators
    • prefix: The namespace prefix how it’s visible in the NAMESPACE reply (if hidden=no ) and mailbox list (if list=yes ). Mail user variables can be used.
    • location: Mailbox location. The default is to use mail_location setting. Mail user variables can be used.
    • inbox: yes , if this namespace contains the user’s INBOX. There is only one INBOX, so only one namespace can have inbox=yes .
    • hidden: yes , if this namespace shouldn’t be listed in NAMESPACE reply.
    • list: yes (default), if this namespace and its mailboxes should be listed by LIST command when the namespace prefix isn’t explicitly specified as a parameter. children means the namespace prefix list listed only if it has child mailboxes.
    • subscriptions: yes (default) if this namespace should handle its own subscriptions. If no , then the first parent namespace with subscriptions=yes will handle it.

    If it’s no for a namespace with prefix=foo/bar/, Dovecot first sees if there’s a prefix=foo/ namespace with subscriptions=yes and then a namespace with an empty prefix. If neither is found, an error is given.

    • ignore_on_failure: Normally Dovecot fails if it can’t successfully create a namespace. Set this to yes to continue even if the namespace creation fails (e.g. public namespace points to inaccessible location).
    • disabled: Set to yes to quickly disable this namespace. Especially useful when returned by a userdb lookup to give per-user namespaces.
    • alias_for: If multiple namespaces point to the same location, they should be marked as aliases against one primary namespace. This avoids duplicating work for some commands (listing the same mailbox multiple times). The value for alias_for is the primary namespace’s prefix. Mail user variables can be used.

    If the primary namespace has empty prefix, set alias_for= for the alias namespace. Or if primary has prefix=INBOX/, use alias_for=INBOX/.

    • mailbox < .. >settings can be used to autocreate/autosubscribe mailboxes and set their SPECIAL-USE flags.

    From userdb¶

    To change namespace settings from userdb, you need to return namespace/ /setting=value . To create a namespace, make sure you first return namespace= [, ,…] and settings after this. Note that the namespace setting must list all the namespaces that are used — there’s currently no way to simply add a namespace.

    Dovecot can support mailbox sharing in several different ways: Dovecot Shared Mailboxes

    Examples:В¶

    Mixed mbox and Maildir¶

    If you have your INBOX as mbox in /var/mail/username and the rest of the mailboxes in Maildir format under

    /Maildir , you can do this by creating two namespaces:

    Without the list = no setting in the first namespace, clients would see the #mbox namespace as a non-selectable mailbox named #mbox but with child mailboxes (the mbox files in the

    /mail directory ), ie. like a directory. So specifically with inbox = yes , having list = no is often desirable.

    Backwards Compatibility: UW-IMAP¶

    When switching from UW-IMAP and you don’t want to give users full access to filesystem, you can create hidden namespaces which allow users to access their mails using their existing namespace settings in clients.

    Backwards Compatibility: Courier IMAP¶

    Recommended: You can continue using the same INBOX. namespace as Courier:

    Alternatively: Create the INBOX. as a compatibility name, so old clients can continue using it while new clients will use the empty prefix namespace:

    The separator=/ allows the INBOX to have child mailboxes. Otherwise with separator=. it wouldn’t be possible to know if INBOX.foo means INBOX’s foo child or the root foo mailbox in INBOX. compatibility namespace. With separator=/ the difference is clear with INBOX/foo vs. INBOX.foo .

    The alternative configuration is not recommended, as it may introduce there problems:

    • Although clients may do LIST INBOX.* , they may still do LSUB * , resulting in mixed results.
    • If clients used empty namespace with Courier, they now see the mailboxes with different names, resulting in redownloading of all mails (except INBOX).
    • Some clients may have random errors auto-detecting the proper default folders (Sent, Drafts etc) if the client settings refer to old paths while the server lists new paths.

    Per-user Namespace Location From SQL¶

    You need to give the namespace a name, for example docs below:

    Then you have an SQL table like:

    Now if you want to set the namespace location from the Namespaces table, use something like:

    If you follow some advice to separate your INBOX , shared/ and public/ namespaces by choosing INBOX/ as your prefix for the inboxes you will see, that you run into troubles with subscriptions. Thats, because there is no parent namespace for shared/ and public/ if you set subscriptions = no for those namespaces. If you set subscriptions = yes for shared/ and public/ you will see yourself in the situation, that all users share the same subscription files under the location of those mailboxes. One good solution is, to create a so called hidden subscription namespace with subscriptions turned on and setting subscriptions = no for the other namespaces:

    Mailbox settings¶

    New in version v2.1.

    One can assign SPECIAL-USE RFC 6154 tags and specify, which mailboxes to create and/or subscribe to automatically.

    The autocreated mailboxes are created lazily to disk only when accessed for the first time. The autosubscribed mailboxes aren’t written to subscriptions file, unless SUBSCRIBE command is explicitly used for them.

    The mailbox section name specifies the mailbox name. If it has spaces, you can put it in quotes . The mailbox settings are:

    • auto: Autocreate/subscribe mailbox?
    • no: Neither
    • create: Autocreate, but don’t autosubscribe
    • subscribe: Autocreate and autosubscribe
    • special_use: Space-separated list of SPECIAL-USE flags 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 other than the standard ones specified in the RFC.

    Due to a bug in Dovecot v2.2.30+ if special-use flags are used, SPECIAL-USE needs to be added to post-login CAPABILITY response as RFC 6154 mandates. You can do this with imap_capability = +SPECIAL-USE

    New in version v2.2.20.

    Automatically at user deinitialization expunge all mails in this mailbox whose saved-timestamp is older than (e.g. autoexpunge=30d). This removes the need for expire plugin if you don’t care that the expunging may not always happen in time.

    • For IMAP and POP3 this happens after the client is already disconnected.
    • For LMTP this happens when the user’s mail delivery is finished. Note that if there are multiple recipients this may delay delivering the mails to the other recipients.
    • Also doveadm and other processes verify this, which may be unnecessary. So it may be better to explicitly enable this only inside protocol imap, pop3 and maybe lmtp. You can do this with
    • mailbox_list_index=yes is highly recommended when using this setting, as it avoids actually opening the mailbox to see if anything needs to be expunged.
    • autoexpunge_max_mails= :

    New in version v2.2.25.

    Mails are expunged until mail count is at autoexpunge_max_mails or below. After these messages are removed, autoexpunge will then try to expunge mails based on the autoexpunge setting.

    Источник

    I have a problem to convert mdbox to MailDir. Log from that process looks like:

    /bin/dsync -Dv -u user@domian.com mirror maildir:/tmp/destination/mailboxes/user@domian.com
    
    
    
    Debug: Loading modules from directory: /lib/dovecot
    Debug: Module loaded: /lib/dovecot/lib01_acl_plugin.so
    Debug: Loading modules from directory: /lib/dovecot/doveadm
    Debug: Module loaded: /lib/dovecot/doveadm/lib10_doveadm_acl_plugin.so
    Debug: Skipping module doveadm_expire_plugin, because dlopen() failed: /lib/dovecot/doveadm/lib10_doveadm_expire_plugin.so: undefined symbol: expire_set_lookup (this is usually intentional, so just ignore this message)
    Debug: Skipping module doveadm_quota_plugin, because dlopen() failed: /lib/dovecot/doveadm/lib10_doveadm_quota_plugin.so: undefined symbol: quota_user_module (this is usually intentional, so just ignore this message)
    Debug: Module loaded: /lib/dovecot/doveadm/lib10_doveadm_sieve_plugin.so
    Debug: Skipping module doveadm_fts_plugin, because dlopen() failed: /lib/dovecot/doveadm/lib20_doveadm_fts_plugin.so: undefined symbol: fts_list_backend (this is usually intentional, so just ignore this message)
    doveadm(user@domian.com): Debug: Effective uid=503, gid=503, home=/var/mailboxes/%2Mu/%2.2Mu/%u
    doveadm(user@domian.com): Debug: Home dir not found: /var/mailboxes/%2Mu/%2.2Mu/%u
    doveadm(user@domian.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=mdbox:/var/mailboxes/64/b1/user@domian.com
    doveadm(user@domian.com): Debug: fs: root=/var/mailboxes/64/b1/user@domian.com, index=, indexpvt=, control=, inbox=, alt=
    doveadm(user@domian.com): Debug: acl: initializing backend with data: vfile
    doveadm(user@domian.com): Debug: acl: acl username = user@domian.com
    doveadm(user@domian.com): Debug: acl: owner = 1
    doveadm(user@domian.com): Debug: acl vfile: Global ACLs disabled
    doveadm(user@domian.com): Debug: Namespace : type=shared, prefix=shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=yes location=mdbox:/var/mailboxes/%2Mu/%2.2Mu/%u
    doveadm(user@domian.com): Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt=
    doveadm(user@domian.com): Debug: acl: initializing backend with data: vfile
    doveadm(user@domian.com): Debug: acl: acl username = user@domian.com
    doveadm(user@domian.com): Debug: acl: owner = 0
    doveadm(user@domian.com): Debug: acl vfile: Global ACLs disabled
    doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/INBOX/dbox-Mails/dovecot-acl not found
    doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/Drafts/dbox-Mails/dovecot-acl not found
    doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/Sent/dbox-Mails/dovecot-acl not found
    doveadm(user@domian.com): Debug: acl vfile: file /var/mailboxes/64/b1/user@domian.com/mailboxes/Trash/dbox-Mails/dovecot-acl not found
    doveadm(user@domian.com): Debug: Namespace : Using permissions from /var/mailboxes/64/b1/user@domian.com: mode=0700 gid=default
    dsync(user@domian.com): Debug: Effective uid=503, gid=503, home=/var/mailboxes/%2Mu/%2.2Mu/%u
    dsync(user@domian.com): Debug: Home dir not found: /var/mailboxes/%2Mu/%2.2Mu/%u
    dsync(user@domian.com): Debug: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/tmp/destination/mailboxes/user@domian.com
    dsync(user@domian.com): Debug: maildir++: root=/tmp/destination/mailboxes/user@domian.com, index=, indexpvt=, control=, inbox=/tmp/destination/mailboxes/user@domian.com, alt=
    dsync(user@domian.com): Debug: Namespace : /tmp/destination/mailboxes/user@domian.com doesn't exist yet, using default permissions
    dsync(user@domian.com): Debug: Namespace : Using permissions from /tmp/destination/mailboxes/user@domian.com: mode=0700 gid=default
    dsync(user@domian.com): Debug: acl: initializing backend with data: vfile
    dsync(user@domian.com): Debug: acl: acl username = user@domian.com
    dsync(user@domian.com): Debug: acl: owner = 1
    dsync(user@domian.com): Debug: acl vfile: Global ACLs disabled
    dsync(user@domian.com): Debug: Namespace : type=shared, prefix=shared/%u/, sep=/, inbox=no, hidden=no, list=children, subscriptions=yes location=mdbox:/var/mailboxes/%2Mu/%2.2Mu/%u
    dsync(user@domian.com): Debug: shared: root=/var/run/dovecot, index=, indexpvt=, control=, inbox=, alt=
    dsync(user@domian.com): Debug: acl: initializing backend with data: vfile
    dsync(user@domian.com): Debug: acl: acl username = user@domian.com
    dsync(user@domian.com): Debug: acl: owner = 0
    dsync(user@domian.com): Debug: acl vfile: Global ACLs disabled
    dsync(user@domian.com): Error: User initialization failed: namespace configuration error: All list=yes namespaces must use the same separator
    

    but when I will specify namespace to the inbox like

    /bin/dsync -Dv -u user@domian.com mirror maildir:/tmp/destination/mailboxes/user@domian.com -n inbox
    

    it throws different error:

    doveadm(user@domian.com): Debug: Namespace : Using permissions from /var/mailboxes/64/b1/user@domian.com: mode=0700 gid=default
    doveadm(user@domian.com): Fatal: execvp(maildir:/tmp/destination/mailboxes/user@domian.com) failed: No such file or directory
    dsync-local(user@domian.com): Error: read(remote) failed: EOF (version not received
    

    when /tmp/destination/mailboxes/user@domian.com directory exists

    and /bin/doveconf namespace is

    namespace {
      disabled = no
      hidden = no
      ignore_on_failure = no
      inbox = no
      list = children
      location = mdbox:/var/mailboxes/%%2Mu/%%2.2Mu/%%u
      order = 0
      prefix = shared/%%u/
      separator = /
      subscriptions = yes
      type = shared
    }
    namespace inbox {
      disabled = no
      hidden = no
      ignore_on_failure = no
      inbox = yes
      list = yes
      location =
      mailbox Drafts {
        auto = subscribe
        driver =
        special_use = Drafts
      }
      mailbox INBOX {
        auto = subscribe
        driver =
        special_use =
      }
      mailbox Junk {
        auto = no
        driver =
        special_use = Junk
      }
      mailbox Sent {
        auto = subscribe
        driver =
        special_use = Sent
      }
      mailbox "Sent Messages" {
        auto = no
        driver =
        special_use = Sent
      }
      mailbox Trash {
        auto = subscribe
        driver =
        special_use = Trash
      }
      order = 0
      prefix =
      separator =
      subscriptions = yes
      type = private
    }
    

    What I’m doing wrong in the process?


    0

    1

    Связка Postfix+Dovecot+Mysql (виртуальные пользователи хранятся в базе mysql )
    main.cf

    # See /usr/share/postfix/main.cf.dist for a commented, more complete version
    
    
    # Debian specific:  Specifying a file name will cause the first
    # line of that file to be used as the name.  The Debian default
    # is /etc/mailname.
    #myorigin = /etc/mailname
    
    smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
    biff = no
    
    # appending .domain is the MUA's job.
    append_dot_mydomain = no
    
    # Uncomment the next line to generate "delayed mail" warnings
    #delay_warning_time = 4h
    
    readme_directory = no
    
    # TLS parameters
    smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    smtpd_use_tls=yes
    smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
    smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
    
    # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
    # information on enabling SSL in the smtp client.
    
    myhostname = posts.dracon753.ru
    alias_maps = hash:/etc/aliases
    alias_database = hash:/etc/aliases
    myorigin = /etc/mailname
    mydestination = localhost
    relayhost =
    mynetworks = 127.0.0.0/8
    mailbox_command = procmail -a "$EXTENSION"
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = all
    virtual_alias_domains =
    virtual_alias_maps = hash:/etc/postfix/aliases, proxy:mysql:/etc/postfix/mysql-forwards.cf, mysql:/etc/postfix/mysql-email.cf
    virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-domains.cf
    virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-mailboxes.cf
    virtual_mailbox_base = /home/vmail
    virtual_uid_maps = static:5000
    virtual_gid_maps = static:5000
    
    
    virtual_transport = dovecot
    

    dovecot.conf

    protocols = imap imaps pop3 pop3s
    disable_plaintext_auth = no
    log_timestamp = "%Y-%m-%d %H:%M:%S "
    mail_location = maildir:/home/vmail/%d/%n/Maildir
    namespace private {
       separator = 
       prefix = INBOX
       inbox = yes
    }
    mail_privileged_group = mail
    protocol imap {
    }
    protocol pop3 {
      pop3_uidl_format = %08Xu%08Xv
    }
    protocol managesieve {
    }
    auth default {
      mechanisms = plain login
      passdb pam {
      }
      passdb sql {
        args = /etc/dovecot/dovecot-sql.conf
      }
      userdb passwd {
      }
      userdb static {
        args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
      }
      user = root
      socket listen {
        master {
          path = /var/run/dovecot/auth-master
          mode = 0600
          user = vmail
        }
        client {
          path = /var/spool/postfix/private/auth
          mode = 0660
          user = postfix
          group = postfix
        }
      }
    }
    dict {
    }
    plugin {
    }
    root@posts:/home/test/rab/pravconfig#
    

    В логах

    ay 17 07:54:36 posts dovecot: Dovecot v1.2.15 starting up (core dumps disabled)
    May 17 07:54:36 posts dovecot: auth-worker(default): mysql: Connected to 127.0.0.1 (mail)
    May 17 07:54:37 posts dovecot: auth(default): new auth connection: pid=2930
    May 17 07:54:37 posts dovecot: auth(default): new auth connection: pid=2931
    May 17 07:54:37 posts dovecot: auth(default): new auth connection: pid=2928
    May 17 07:54:37 posts dovecot: auth(default): new auth connection: pid=2929
    May 17 07:54:37 posts dovecot: auth(default): new auth connection: pid=2933
    May 17 07:54:37 posts dovecot: auth(default): new auth connection: pid=2932
    May 17 07:55:14 posts dovecot: dovecot: Killed with signal 15 (by pid=2944 uid=0 code=kill)
    

    Из-за чего лезет эта гадость — posts dovecot: dovecot: Killed with signal 15 (by pid=2944 uid=0 code=kill)

    On May 27, 2015, at 22:57 , Chris Ross <cross+dove...@distal.com> wrote:
    > On May 25, 2015, at 15:55 , a...@thecsillags.com wrote:
    >> When I set them up that way, I shared the target inbox (we'll call it 
    >> f...@example.com) to be accessible by user b...@example.com.  When I go into 
    >> my email client, I'll see something like: shared/f...@example.com/INBOX as a 
    >> folder.
    > 
    >  When you say "set them up that way", do you mean following the example 
    > config at SharedMailboxes/Shared ?  In that example, a mail_location is set 
    > at the outer level, which I think I don't want to do, and overridden in the 
    > shared namespace.  I'm assuming I don't want either of those, or at least 
    > that's what I'm going to try first.
    > 
    >  A question I have given your example above, is, did you set 
    > mail_shared_explicit_inbox ?  It's only briefly described what that effects, 
    > so I'm not sure which setting (on or off) will cause the 
    > shared/f...@example.com/INBOX you describe seeing.  I assume on, so I've 
    > turned it on.
    > 
    >> The boxes don't have to be shared publicly if you use the "private" 
    >> namespace.
    > 
    >  By "use the "private" namespace", do you mean specifying a separate 
    > namespace block in the config, like the one is declared in the example at 
    > http://wiki2.dovecot.org/SharedMailboxes/Shared ?  If so, that's what I've 
    > done.  If there is a way to have a single namespace declared that's both 
    > private and shared, I don't see that, so I have two as presented on that wiki 
    > page.
      Okay.  Lots of trial and error and error, and I at least have some 
    configuration that I think includes pieces about shared mailboxes and ACLs, and 
    it's actually up and running.  But, I'm not seeing the shared folder.
    
      I was getting a lot of errors about separators (namespace configuration 
    error: All list=yes namespaces must use the same separator) and prefixes 
    (namespace configuration error: list=yes requires prefix=/ not to start with 
    separator), but have it working now.  The namespace private block from the 
    example at http://wiki2.dovecot.org/SharedMailboxes/Public caused many of those 
    problems, and I didn't have a separator configured at all (ie, was still 
    commented out) in my main namespace, so that apparently conflicted with the 
    "separator = /" in the shared namespace.  But, all that resolved.
    
      The config file I've added into conf.d/15-shared.conf is:
    
    namespace {
      type = shared
      separator = /
      prefix = shared/%%u/
      location = 
    maildir:/home/%%n/Maildir:INDEX=~/Maildir/shared/%%u:INDEXPVT=~/Maildir/shared/%%u
      subscriptions = no
      list = children
    }
    mail_shared_explicit_inbox = yes
    protocol imap {
      mail_plugins = $mail_plugins acl imap_acl
    }
    plugin {
      acl = vfile
    }
    
      This comes from the aforementioned wiki page.  I ran the doveadm acl command 
    you suggested (though my usernames have no domain part, like your example did 
    have domain parts)
    
      Now, while dovecot is back to working, I don't see a shared folder anywhere.  
    "doveadm mailbox list" lists the mailboxes for users, including the INBOX I've 
    tried to configure an ACL to let me share.
    
      Clearly I'm missing a piece.  Andy, or anyone else, if you see what I've 
    missed, please let me know.  I'm  not seeing anything back from the server with 
    my mail client under "Subscription List", so I can't choose to subscribe.  
    Maybe I've turned off subscriptions somehow, and it's not auto-subscribing me?  
    Or, maybe having "list=children", and I haven't set up the ACL correctly?
    
      I ran:
    
    sudo doveadm acl add -u childuser INBOX user=cross lookup read write write-seen 
    write-deleted insert post expunge create delete admin
    
      After removing the domains from your example, that's about what you had.  I 
    can see the INBOX for childuser with "doveadm mailbox list -u childuser".
    
      Ahh.  I think I may be on to something.  I tried the "doveadm acl add" again, 
    which seems to succeed, but "doveadm acl debug" then doesn't mention anything 
    about me, or my access to childuser's INBOX.  Running the "acl add" with 
    "doveadm -D" shows:
    
    doveadm(childuser): Debug: acl: No acl_shared_dict setting - shared mailbox 
    listing is disabled
    
    and later:
    
    doveadm(childuser): Debug: acl vfile: Global ACLs disabled
    
      The first of those looks like it might be a problem.  Do you have an 
    "acl_shared_dict" set up in your config anywhere, Andy?
    
      Thanks.  Any help appreciated.
    
                                                                 - Chris
    

    SS88

    Posts: 336
    Joined: Thu Nov 19, 2015 12:40 pm

    [FIX] Initialization failed: namespace configuration error: inbox=yes namespace missing

    If you receive this error (it also stops you from logging into your emails):

    Code: Select all

    Initialization failed: namespace configuration error: inbox=yes namespace missing

    Open up /etc/dovecot/conf.d/15-mailboxes.conf and add in:

    inbetween namespace inbox { }


    b79

    Posts: 5
    Joined: Mon Dec 19, 2016 7:20 am

    Re: [FIX] Initialization failed: namespace configuration error: inbox=yes namespace missing

    Post

    by b79 » Mon Dec 19, 2016 7:22 am

    Hey! Thanks for posting this info.

    It fixed my dovecot login issue. Seems to have started after yum updated a whole bunch of stuff.


    jonn

    Posts: 72
    Joined: Sun Jun 08, 2014 12:18 pm

    Re: [FIX] Initialization failed: namespace configuration error: inbox=yes namespace missing

    Post

    by jonn » Thu Dec 22, 2016 2:29 am

    didnt fix mine, checked all my vestacp servers and they all dont have the file, it just got up a ran away.

    fix..
    viewtopic.php?t=13395


    SS88

    Posts: 336
    Joined: Thu Nov 19, 2015 12:40 pm

    Re: [FIX] Initialization failed: namespace configuration error: inbox=yes namespace missing

    Post

    by SS88 » Thu Dec 22, 2016 2:36 am

    jonn wrote:didnt fix mine, checked all my vestacp servers and they all dont have the file, it just got up a ran away.

    fix..
    viewtopic.php?t=13395

    It’s exactly the same fix?


    gecube_ru

    Posts: 141
    Joined: Thu Jun 22, 2017 1:21 pm

    Re: [FIX] Initialization failed: namespace configuration error: inbox=yes namespace missing

    Post

    by gecube_ru » Fri Nov 10, 2017 7:56 am

    Thank you very much for the solution.

    I’ve ran into the same issue after updating a lot of stuff with the yum program.
    The symptom was that users couldn’t connect to IMAP service, but the server correctly receives/sends the e-mails.


    dpeca

    VestaCP Team
    Posts: 469
    Joined: Wed Nov 25, 2015 7:30 pm

    Re: [FIX] Initialization failed: namespace configuration error: inbox=yes namespace missing

    Post

    by dpeca » Fri Oct 26, 2018 2:50 pm

    This error started today on latest Debian9 too.
    Centos7 is also affected, if i’m right?

    I’m gonna fix this.






    уже который день пытаюсь поднять почтовый сервер на убунте сервер 9.04
    поставил постфикс, довекот, прописал настройки, всё запускается без проблем, соединяюсь по telnet, отправляю письмо, но в логах и в папкеп пользователей писемн нет (права выставил, в конфигах прописано)

    cat dovecot.log
    dovecot: 2009-12-18 02:23:31 Info: dovecot v1.1.11 starting up (core dumps disabled)
    dovecot: 2009-12-18 02:23:32 Info: auth-worker(default): mysql: Connected to 127.0.0.1 (mailserver)

    cat mail.log
    Dec 18 02:23:23 example postfix/master[7760]: daemon started -- version 2.5.5, configuration /etc/postfix
    Dec 18 02:23:56 example postfix/smtpd[7823]: connect from example.com[127.0.0.1]
    Dec 18 02:24:18 example postfix/smtpd[7823]: D5E3C1482F2: client=example.com[127.0.0.1]
    Dec 18 02:24:25 example postfix/cleanup[7827]: D5E3C1482F2: message-id=<20091217202418.D5E3C1482F2@example.com>
    Dec 18 02:24:25 example postfix/qmgr[7763]: D5E3C1482F2: from=<dmitry@example.com>, size=363, nrcpt=1 (queue active)
    Dec 18 02:24:25 example deliver(dmitry@example.com): Fatal: postmaster_address setting not given
    Dec 18 02:24:25 example postfix/pipe[7828]: D5E3C1482F2: to=<dmitry@example.com>, relay=dovecot, delay=16, delays=16/0.01/0/0.03, dsn=5.3.5, status=bounced (local configuration error)
    Dec 18 02:24:25 example postfix/cleanup[7827]: CB4321482F9: message-id=<20091217202425.CB4321482F9@example.com>
    Dec 18 02:24:25 example postfix/qmgr[7763]: CB4321482F9: from=<>, size=2058, nrcpt=1 (queue active)
    Dec 18 02:24:25 example deliver(dmitry@example.com): Fatal: postmaster_address setting not given
    Dec 18 02:24:25 example postfix/bounce[7830]: D5E3C1482F2: sender non-delivery notification: CB4321482F9
    Dec 18 02:24:25 example postfix/qmgr[7763]: D5E3C1482F2: removed
    Dec 18 02:24:25 example postfix/pipe[7828]: CB4321482F9: to=<dmitry@example.com>, relay=dovecot, delay=0.03, delays=0.01/0/0/0.01, dsn=5.3.5, status=bounced (local configuration error)
    Dec 18 02:24:25 example postfix/qmgr[7763]: CB4321482F9: removed
    Dec 18 02:24:27 example postfix/smtpd[7823]: disconnect from example.com[127.0.0.1]

    вот мой postconf

    alias_database = hash:/etc/aliases
    alias_maps = hash:/etc/aliases
    append_dot_mydomain = no
    biff = no
    broken_sasl_auth_clients = yes
    config_directory = /etc/postfix
    home_mailbox = Maildir/
    inet_interfaces = all
    mailbox_command = /usr/lib/dovecot/deliver -c /etc/dovecot/dovecot-postfix.conf -n -m "${EXTENSION}"
    mailbox_size_limit = 0
    mydestination = localhost
    myhostname = example.com
    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
    myorigin = /etc/mailname
    readme_directory = no
    recipient_delimiter = +
    relayhost =
    smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
    smtp_use_tls = yes
    smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
    smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_authenticated_header = yes
    smtpd_sasl_local_domain = $myhostname
    smtpd_sasl_path = private/dovecot-auth
    smtpd_sasl_security_options = noanonymous
    smtpd_sasl_type = dovecot
    smtpd_sender_restrictions = reject_unknown_sender_domain
    smtpd_tls_auth_only = yes
    smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem
    smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
    smtpd_tls_mandatory_ciphers = medium, high
    smtpd_tls_mandatory_protocols = SSLv3, TLSv1
    smtpd_tls_received_header = yes
    smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
    smtpd_use_tls = yes
    tls_random_source = dev:/dev/urandom
    virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cf
    virtual_gid_maps = static:5000
    virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
    virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
    virtual_transport = dovecot
    virtual_uid_maps = static:5000
    вот ещё данные

    cat hostname
    example.com

    cat hosts
    127.0.0.1 example.com localhost
    # The following lines are desirable for IPv6 capable hosts
    ::1     localhost ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    ff02::3 ip6-allhosts

    и с бинда (он стартует без грехов):
    cat example.com
    $ORIGIN example.com.
    $TTL 86400 ; 1 day
    @ IN SOA localhost. root.localhost. (
    2008041501 ; serial
    10800 ; refresh (3 hours)
    900 ; retry (15 minutes)
    604800 ; expire (1 week)
    86400 ; minimum (1 day)
    )
    @ IN NS localhost.
    @ IN A 192.168.0.1


    подскажите куда копать, что с моим постфикосом не то… :(


    Пользователь решил продолжить мысль 17 Декабря 2009, 12:14:32:


    и ещё…
    тут

    mydestination = localhost
    вместо

    mydestination = example.com, localhost.com, , localhost

    так сделал, потому что до этого выводилось в логах

    Dec 18 03:33:59 example postfix/smtpd[3018]: connect from example.com[127.0.0.1]
    Dec 18 03:34:15 example postfix/trivial-rewrite[3021]: warning: do not list domain example.com in BOTH mydestination and virtual_mailbox_domains
    Dec 18 03:34:23 example postfix/smtpd[3018]: 967C71482F2: client=example.com[127.0.0.1]
    Dec 18 03:34:28 example postfix/cleanup[3026]: 967C71482F2: message-id=<20091217213423.967C71482F2@example.com>
    Dec 18 03:34:28 example postfix/qmgr[2965]: 967C71482F2: from=<dmitry@example.com>, size=361, nrcpt=1 (queue active)
    Dec 18 03:34:28 example postfix/trivial-rewrite[3021]: warning: do not list domain example.com in BOTH mydestination and virtual_mailbox_domains
    Dec 18 03:34:28 example postfix/local[3028]: 967C71482F2: to=<dmitry@example.com>, relay=local, delay=13, delays=13/0.04/0/0.04, dsn=5.1.1, status=bounced (unknown user: "dmitry")
    Dec 18 03:34:28 example postfix/cleanup[3026]: D796A1482F9: message-id=<20091217213428.D796A1482F9@example.com>
    Dec 18 03:34:28 example postfix/qmgr[2965]: D796A1482F9: from=<>, size=2053, nrcpt=1 (queue active)
    Dec 18 03:34:28 example postfix/trivial-rewrite[3021]: warning: do not list domain example.com in BOTH mydestination and virtual_mailbox_domains
    Dec 18 03:34:28 example postfix/bounce[3029]: 967C71482F2: sender non-delivery notification: D796A1482F9
    Dec 18 03:34:28 example postfix/qmgr[2965]: 967C71482F2: removed
    Dec 18 03:34:28 example postfix/local[3028]: D796A1482F9: to=<dmitry@example.com>, relay=local, delay=0.03, delays=0.02/0/0/0.01, dsn=5.1.1, status=bounced (unknown user: "dmitry")
    Dec 18 03:34:28 example postfix/qmgr[2965]: D796A1482F9: removed
    Dec 18 03:34:30 example postfix/smtpd[3018]: disconnect from example.com[127.0.0.1]
    слышал, что в mydestination не должно быть имени хоста, но не уверен правда ли это…

    In a few words, please describe the issue that you’re experiencing:

    Dovecot fails to authenticate due to duplicate namespaces. /etc/dovecot/conf.d/15-mailboxes.conf should be removed, since the namespace is already declared in /etc/dovecot/dovecot.conf.

    What steps did you take when the issue occured?

    1. Attempt to login to mail server via RoundCube and external app
    2. RoundCube responds with «Connection to storage server failed», external app just fails

    Expected behavior:

    Authentication should succeed.

    Operating system distribution and release:

    Debian 9 64-bit

    Which version of Hestia Control Panel is currently installed?

    You can find this information in $HESTIA/conf/hestia.conf by running the following command:
    grep VERSION $HESTIA/conf/hestia.conf

    1.0.3

    Which branch are you using?

    release

    Which of the following web server configurations are you using?

    Apache + Nginx (default)

    Which of the following server roles are installed on your server?

    • Web Server (Apache + Nginx)
    • DNS
    • Mail (Dovecot + Exim)
    • Mail (Exim only)
    • MySQL (MariaDB)
    • PostgreSQL

    In order to better assist, please post any relevant log information below:

    /var/log/dovecot.log:

    Jun 30 09:22:11 imap(<email snipped>): Error: User initialization failed: namespace configuration error: Duplicate namespace prefix: ""
    

    Additional notes:

    This is already fixed on my setup after some troubleshooting, just wanted to give you a heads-up.

    Понравилась статья? Поделить с друзьями:
  • Error name stack underflow при печати kyocera
  • Error name pdfconversionerror offending command findresource
  • Error name pdfconversionerror kyocera 2030dn
  • Error name not resolved на андроид
  • Error name lookup of j changed for iso for scoping fpermissive