{"id":17109308,"url":"https://github.com/kevinoid/auth-mailbox-joomla","last_synced_at":"2025-04-13T03:20:29.685Z","repository":{"id":1273892,"uuid":"1213132","full_name":"kevinoid/auth-mailbox-joomla","owner":"kevinoid","description":"Plugin for Joomla! to authenticate users against a mail server using IMAP, NNTP, or POP3.","archived":false,"fork":false,"pushed_at":"2022-03-08T15:48:22.000Z","size":96,"stargazers_count":6,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T20:21:21.470Z","etag":null,"topics":["joomla-plugin","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kevinoid.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.txt","contributing":null,"funding":null,"license":"COPYING.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-01-01T22:46:34.000Z","updated_at":"2023-06-09T10:17:55.000Z","dependencies_parsed_at":"2022-07-06T15:01:14.811Z","dependency_job_id":null,"html_url":"https://github.com/kevinoid/auth-mailbox-joomla","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinoid%2Fauth-mailbox-joomla","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinoid%2Fauth-mailbox-joomla/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinoid%2Fauth-mailbox-joomla/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kevinoid%2Fauth-mailbox-joomla/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kevinoid","download_url":"https://codeload.github.com/kevinoid/auth-mailbox-joomla/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248658331,"owners_count":21140925,"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":["joomla-plugin","php"],"created_at":"2024-10-14T16:22:51.134Z","updated_at":"2025-04-13T03:20:29.667Z","avatar_url":"https://github.com/kevinoid.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Mailbox Authentication Plugin for Joomla!\n=========================================\n\nThis is a Joomla! plugin to authenticate users against a mail server via IMAP,\nNNTP, or POP3.  It forwards authentication credentials provided by the user to\na mail server, then relays the authentication decision of the mail server back\nto Joomla!.\n\nIn simpler terms, it lets users log in to Joomla! with the same username and\npassword that they use for email, without the need to copy and synchronize the\naccounts manually.\n\n### Supported Features\n\n * Fully localizable\n * Set user email account based on configurable mail domain.\n * Authenticate to mail server using full email address.\n * Configable mail host address and port.\n * Optionally require secure (non-plaintext) authentication.\n * Support for TLS (optional or required) and SSL.\n * Optional validation of SSL certificate from mail server.\n * Supports the [Joomla! Update\n   System](https://docs.joomla.org/Help36:Extensions_Extension_Manager_Update).\n\n\n### Currently Unsupported Features\n\n * Does not integrate email/webmail into Joomla! or provide Single Sign-On\n   (SSO) between email/webmail and Joomla!  Meaning users will still need to\n   login to both Joomla! and email/webmail separately.\n * Authentication against multiple mail servers.  Currently this plugin only\n   supports authentication against a single mail server (although the address\n   to which it connects may be load-balanced to multiple servers transparently).\n\n\n### Plugin Requirements\n\n* **Joomla! 3.0 or later.**  (Confirmed working on Joomla! 4.0-alpha3.)\n  There are previous versions of this plugin available [for Joomla!\n  2.5](https://github.com/kevinoid/auth-mailbox-joomla/releases/tag/v1.0.9-for-joomla2.5)\n  and [for Joomla!\n  1.5](https://github.com/kevinoid/auth-mailbox-joomla/releases/tag/v1.0.9-for-joomla1.5).\n* **[PHP IMAP Extension](https://www.php.net/manual/en/book.imap.php).**\n\n\n### Troubleshooting\n\n#### Joomla! Logs\n\nTo get debugging information from the Joomla! logs:\n\n1. Enable [Log Almost\n   Everything](https://docs.joomla.org/images/8/88/Debug_logging_settings-en.jpg)\n   from the \"Logging\" tab of the \"System - Debug\" plugin in the [Extensions\n   Plugin Manager](https://docs.joomla.org/Help310:Extensions_Plugin_Manager)?\n2. Attempt to log in.\n3. Open `administrator/logs/everything.php` from the Joomla! directory on your\n   server in a text editor and search for `authentication_mailbox` near the end\n   of the log file.  The log messages should include the arguments to\n   [`imap_open`](https://www.php.net/manual/en/function.imap-open.php)\n   (excluding passwords) and the resulting messages from\n   [`imap_errors`](https://www.php.net/manual/en/function.imap-errors.php).\n   - If `administrator/logs/everything.php` does not exist, check that the\n     directory permissions allow the PHP process to write to that directory.\n   - If `authentication_mailbox` does not appear in\n     `administrator/logs/everything.php`, check that \"Authentication -\n     Mailbox\" is enabled in the Extensions Plugin Manager.\n\n#### imap_open\n\nIf [`imap_open`](https://www.php.net/manual/en/function.imap-open.php) can not\nopen the user's mailbox, it may be simpler to debug by calling\n[`imap_open`](https://www.php.net/manual/en/function.imap-open.php) from a\ntest script such as the following:\n\n```php\n\u003c?php\nheader('Content-Type: text/plain');\n\nerror_reporting(E_ALL | E_STRICT);\nini_set('display_errors', 1);\n\n$mailbox = imap_open(\n\t'{imap.example.com/service=imap/tls/validate-cert}',\n\t'myusername',\n\t'mypassword',\n\t0,\n\t1);\nprint 'imap_open: ' . ($mailbox ? \"Succeeded.\\n\" : \"Failed.\\n\");\n\nprint 'imap_errors: ';\nvar_dump(imap_errors());\n\nif ($mailbox) {\n\timap_close($mailbox);\n}\n```\n\n1. Save the above code into a file (e.g. `test.php`).\n2. Adjust the\n   [`imap_open`](https://www.php.net/manual/en/function.imap-open.php)\n   parameters as necessary:\n   1. Replace `imap.example.com` with a valid server (and replace\n      `/service=imap` with `/sevice=pop3` or `/service=nntp` as necessary).\n   2. Replace `myusername` and `mypassword` with the username and password with\n      a valid user and adjust any other parameters as desired.\n   3. Add or remove flags such as `OP_SECURE` from the flags parameter.\n3. Upload the file to a web server.\n4. Visit the URL for the uploaded file in a web browser.\n5. Repeat steps 2-4 until the page contains:\n\n       imap_open: Succeeded.\n       imap_errors: bool(false)\n\n6. Adjust the plugin configuration to match the functional parameters.\n\nInstallation instructions are available in [INSTALL.md](INSTALL.md).\nMajor changes are listed in [ChangeLog.txt](ChangeLog.txt).\nComplete license text is available in [COPYING.txt](COPYING.txt).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinoid%2Fauth-mailbox-joomla","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkevinoid%2Fauth-mailbox-joomla","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkevinoid%2Fauth-mailbox-joomla/lists"}