Einrichten von Mailbox Freigaben (für Roundcube)

  • Derzeit verwalte ich Mailbox-Freigaben manuell über die Shell (mittels symlinks in die jeweiligen Ordner desselben Kunden).

    Da dies kontraproduktiv hinsichtlich einer Selbstverwaltung der Kunden ist wollte ich fragen ob es geplante Arbeiten (oder

    gar bereits Lösungen) gibt dies über die Oberfläche (oder ein Skrip) zu steuern.

    Update: Ich gehe hier nicht von einem Roundcube Plugin aus sondern eher etwas in der Richtung von pd-admin. Wäre dann

    auch bereit sollte es eine denkbare Lösung seitens pd-admin geben ein RC Plugin zu Verfügung zu stellen.

    Bin für Hinweise sehr dankbar.

    Einmal editiert, zuletzt von mkpd15 (29. Juli 2019 um 12:53)

  • Offenbar stehe ich hier leider alleine mit dem Anliegen (?).

    Ich sehe dieses Feature dennoch als essentiell an, zumal pd-admin mit dem eigesetzten Stack ein sehr geschlossenes Setup bietet dieses umzusetzen.

    Daher versuche ich es nochmals: Könnte ich vielleicht eine offizielle Antwort dazu erhalten? Evtl gibt es diesen Punkt ja auch der Roadmap.

    Besten Dank!

  • Danke für deine Antwort.

    Ja, die grundsätzliche Verwaltung in RC ist dazu da, hierbei handelt es sich aber lediglich um das Abonieren bereits freigegebener Ordner,

    sprich die Ordner wurden zuvor (wie in meinem Fall) manuell für die User angelegt (...).

    Genau dieses manuelle Anlegen/Verwalten ist das was mMn in pd-admin ein sehr sinnvolles Feature wäre.

    Update: Btw: habe diese Option in der letzten 1.x Version nicht gefunden, daher scheint dies aber nicht mehr vorhanden zu sein.

  • Ich habe in der Zwischenzeit über ein Roundcube Plugin (ACL) und der dazugehörigen Dovecot Config eine sehr brauchbare Lösung gefunden mit der das Teilen in RC direkt komfortabel ist und gut funktioniert.

    Kann ich bei Interesse gerne teilen.

  • mkpd15 8. Juni 2021 um 19:34

    Hat das Label [erledigt] hinzugefügt.
  • Klar. Eigentlich ganz einfach:

    1) Dovecot

    a) 90-acl.conf

    plugin {

    acl = vfile

    acl_shared_dict = file:/home/popuser/popboxen/.dovecot-shared-mailboxes.db

    }

    b) 20-imap.conf

    protocol imap {

    mail_plugins = $mail_plugins imap_quota imap_acl

    }


    => Nach dem Einrichten Dovecot neu starten.


    2) RC ACL Plugin

    config.inc.php

    <?php// Default look of access rights table

    // In advanced mode all access rights are displayed separately

    // In simple mode access rights are grouped into four groups: read, write, delete, full

    $config['acl_advanced_mode'] = false;

    // LDAP addressbook that would be searched for user names autocomplete.

    // That should be an array refering to the $config['ldap_public'] array key

    // or complete addressbook configuration array.

    $config['acl_users_source'] = '';

    // The LDAP attribute which will be used as ACL user identifier

    $config['acl_users_field'] = 'mail';

    // The LDAP search filter will be &'d with search queries

    $config['acl_users_filter'] = '';

    // Enable LDAP groups in user autocompletion.

    // Note: LDAP addressbook defined in acl_users_source must include groups config

    $config['acl_groups'] = false;

    // Prefix added to the group name to build IMAP ACL identifier

    $config['acl_group_prefix'] = 'group:';

    // The LDAP attribute (or field name) which will be used as ACL group identifier

    $config['acl_group_field'] = 'name';

    // Include the following 'special' access control subjects in the ACL dialog;

    // Defaults to array('anyone', 'anonymous') (not when set to an empty array)

    // Example: array('anyone') to exclude 'anonymous'.

    // Set to an empty array to exclude all special aci subjects.

    $config['acl_specials'] = array('anyone', 'anonymous');

  • Sollte es noch von Relevanz sein - das musst du in der 10-mail.conf noch ergänzen:

    # 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 = yes

    # List the shared/ namespace only if there are visible shared mailboxes.
    list = children
    }