{"id":26932432,"url":"https://github.com/foundata/roundcube-plugin-identity-from-config","last_synced_at":"2025-04-02T08:19:51.923Z","repository":{"id":239255406,"uuid":"799012956","full_name":"foundata/roundcube-plugin-identity-from-config","owner":"foundata","description":"Roundcube plugin to populate and maintain user identities automatically on each login, based on corresponding data from the plugin's config file. Especially useful for shared mailboxes (like info@example.com) with shared IMAP namespaces.","archived":false,"fork":false,"pushed_at":"2025-02-17T15:10:33.000Z","size":49,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T13:09:21.708Z","etag":null,"topics":["email","identity","roundcube","roundcube-plugin","shared-mailbox","signatures","webmail"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/foundata.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSES/GPL-3.0-or-later.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-11T00:35:33.000Z","updated_at":"2025-02-17T15:10:36.000Z","dependencies_parsed_at":"2024-05-15T23:10:41.834Z","dependency_job_id":null,"html_url":"https://github.com/foundata/roundcube-plugin-identity-from-config","commit_stats":null,"previous_names":["foundata/roundcube-plugin-identity-from-config"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foundata%2Froundcube-plugin-identity-from-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foundata%2Froundcube-plugin-identity-from-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foundata%2Froundcube-plugin-identity-from-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foundata%2Froundcube-plugin-identity-from-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foundata","download_url":"https://codeload.github.com/foundata/roundcube-plugin-identity-from-config/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246777802,"owners_count":20832033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["email","identity","roundcube","roundcube-plugin","shared-mailbox","signatures","webmail"],"created_at":"2025-04-02T08:19:51.401Z","updated_at":"2025-04-02T08:19:51.913Z","avatar_url":"https://github.com/foundata.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Roundcube Plugin: `identity_from_config` (use config file to maintain email identities)\n\nA [Roundcube](https://roundcube.net/) [plugin](https://plugins.roundcube.net/) to populate and maintain user email identities automatically on each login, based on corresponding data from the plugin's config file. A major use case is to maintain identities of shared mailboxes (like `info@example.com`) in a consistent and easy way, e.g. when using a [shared IMAP namespace](https://datatracker.ietf.org/doc/html/rfc2342.html).\n\nYou can use this plugin in combination with [`identity_from_directory`](https://github.com/foundata/roundcube-plugin-identity-from-directory) which uses LDAP or Active Directory to maintain email identities.\n\n\n## Table of Contents\n\n* [Installation](#installation)\n  * [Installation using Composer](#installation-using-composer)\n  * [Installation from release tarball](#installation-from-release-tarball)\n* [Updating](#updating)\n  * [Update using Composer](#update-using-composer)\n  * [Update from release tarball](#update-from-release-tarball)\n* [Configuration](#configuration)\n* [Compatibility](#compatibility)\n* [Licensing, copyright](#licensing-copyright)\n* [Author information](#author-information)\n\n\n## Installation\n\n### Installation using Composer\n\nThe following command installs the [plugin package](https://packagist.org/packages/foundata/identity_from_config) via [Composer](https://getcomposer.org/download/) into `plugins/identity_from_config`:\n\n```bash\nphp composer.phar require --update-no-dev -o \"foundata/identity_from_config:*\"\n```\n\nIf you want to use the current development version from Git, use `-o \"foundata/identity_from_config:dev-main\"`. Please confirm with `y` when Composer asks you whether you want to enable the plugin in the Roundcube configuration. Alternatively, add `identity_from_config` to Roundcube's `$config['plugins']` array by hand.\n\nYou can now [configure](#configuration) the plugin.\n\n\n### Installation from release tarball\n\nDownload the latest [`identity_from_config-vX.Y.Z.tar.gz` tarball](https://github.com/foundata/roundcube-plugin-identity-from-config/releases) (do not use the \"Source code\" archives Github creates automatically for each release). Extract it into `plugins/`, all files have to be in `plugins/identity_from_config/` afterwards.\n\nUseful snippet if you have got a shell available on your target server:\n\n```bash\n# set Rouncube's installation path, adapt if needed\nroundcube_install_dir=\"/var/lib/roundcube\"\n\n# get version number of the latest release\nversion=\"$(curl -s -L https://api.github.com/repos/foundata/roundcube-plugin-identity-from-config/releases/latest | jq -r '.tag_name' | sed -e 's/^v//g')\"\nprintf '%s\\n' \"${version}\"\n\n# download\ncurl -L \"https://github.com/foundata/roundcube-plugin-identity-from-config/releases/download/v${version}/identity_from_config-v${version}.tar.gz\" \\\n  \u003e \"/tmp/identity_from_config.tar.gz\"\n\n# extract and cleanup\ncd \"${roundcube_install_dir}/plugins\" \u0026\u0026 tar -xzvf \"/tmp/identity_from_config.tar.gz\" \u0026\u0026 rm \"/tmp/identity_from_config.tar.gz\"\n```\n\n[Configure](#configuration) the plugin and add `identity_from_config` to Roundcube's `$config['plugins']` array to enable it.\n\n\n## Updating\n\n### Update using Composer\n\nThe following command updates the [plugin package](https://packagist.org/packages/foundata/identity_from_config) via [Composer](https://getcomposer.org/download/):\n\n```bash\nphp composer.phar update --no-dev -o \"foundata/identity_from_config:*\"`\n```\n\n### Update from release tarball\n\nUpdating is as simple as overwriting the existing files. Just follow the [installation instructions](#installation) again to get the newest release. This should be a low-risk operation as there are no database schema changes performed by this plugin and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). The [changelog](./CHANGELOG.md) will inform you of any manual actions required during an upgrade, typically only necessary for major version increments.\n\n\n## Configuration\n\n- Copy the template [`config.inc.php.dist`](./config.inc.php.dist) to `config.inc.php` (Composer may already have done this for you)\n- Now edit `plugins/identity_from_config/config.inc.php` as you need. The [inline comments](./config.inc.php.dist) describe every config value in detail.\n\nSome additional notes:\n\n* All **plugin actions are only triggered during a user's login**. So logout and login again to test a new configuration.\n* This plugin is technically **compatible with all values of Roundcube's `$config['identities_level']`** config option. However, a value of `1` (user can edit all params but not the email address as well as add or delete identities in the UI) or `3` (user can edit all params but not the email address and cannot add or delete identities in the UI) makes most sense.\n\n### When used with the `identity_from_directory` plugin\n\nMake sure to exclude the identities created by the `identity_from_config` plugin from the automatic cleanup of unmanaged identities of the [`identity_from_directory`](https://github.com/foundata/roundcube-plugin-identity-from-directory) plugin:\n\n1. Edit `/plugins/identity_from_directory/config.inc.php`\n2. Set `$config['identity_from_directory_exclude_delete_unmanaged_regex']` to a fitting value like `'/^(office|info)@example\\.(com|net)$/im'`, which excludes identities with the email addresses `office@example.com`, `info@example.com`, `office@example.net` and `info@example.net` from automatic cleanup (case insensitive)\n\n\n## Compatibility\n\n- Roundcube 1.6 or higher.\n- PHP 7.4 or higher.\n- No special database requirements. This plugin does not adapt the database schema and is using Roundcube's built-in actions and hooks to handle the identity data.\n\nThe plugin may work with older versions then listed above, but this is not tested nor supported. We recommend using the latest stable Roundcube version and PHP 8.x, which the plugin is most tested with.\n\n\n## Licensing, copyright\n\n\u003c!--REUSE-IgnoreStart--\u003e\nCopyright (c) 2024, foundata GmbH (https://foundata.com)\n\nThis project is licensed under the GNU General Public License v3.0 or later (SPDX-License-Identifier: `GPL-3.0-or-later`), see [`LICENSES/GPL-3.0-or-later.txt`](LICENSES/GPL-3.0-or-later.txt) for the full text.\n\nThe [`REUSE.toml`](REUSE.toml) file provides detailed licensing and copyright information in a human- and machine-readable format. This includes parts that may be subject to different licensing or usage terms, such as third-party components. The repository conforms to the [REUSE specification](https://reuse.software/spec/). You can use [`reuse spdx`](https://reuse.readthedocs.io/en/latest/readme.html#cli) to create a [SPDX software bill of materials (SBOM)](https://en.wikipedia.org/wiki/Software_Package_Data_Exchange).\n\u003c!--REUSE-IgnoreEnd--\u003e\n\n[![REUSE status](https://api.reuse.software/badge/github.com/foundata/roundcube-plugin-identity-from-config)](https://api.reuse.software/info/github.com/foundata/roundcube-plugin-identity-from-config)\n\n\n## Author information\n\nThis project was created and is maintained by [foundata](https://foundata.com/). If you like it, you might [buy them a coffee](https://buy-me-a.coffee/roundcube-plugin-identity-from-config/).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoundata%2Froundcube-plugin-identity-from-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoundata%2Froundcube-plugin-identity-from-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoundata%2Froundcube-plugin-identity-from-config/lists"}