roundcubemail/program/lib/Roundcube
2025-12-15 11:36:05 +01:00
..
cache Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
db rcube_db_param implements Stringable interface 2025-11-29 15:53:38 +01:00
session Replace changed by expires_at in session handling 2025-12-04 14:47:16 +01:00
spellchecker Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
bootstrap.php Use symfony/polyfill-php85 for array_first() and array_last() 2025-10-03 14:27:05 +02:00
html.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_addressbook.php Move autocomplete list rendering to client side (#9832) 2025-10-11 17:13:13 +02:00
rcube_addresses.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_base_replacer.php Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
rcube_browser.php CS-Fixer: Enable modernize_strpos 2025-08-15 13:20:24 +02:00
rcube_cache.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_charset.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_config.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_contacts.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_content_filter.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_csv2vcard.php Contact import improvements (#9431) 2025-10-08 13:36:57 +02:00
rcube_db.php Fix PHP 8.5 deprecation about PDO driver specific constants 2025-10-16 15:03:34 +02:00
rcube_enriched.php Fix new phpstan errors 2024-07-02 19:47:15 +02:00
rcube_html2text.php Update links in comments and config to https where available (#9759) 2025-01-26 13:34:57 +01:00
rcube_image.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_imap_cache.php Use symfony/polyfill-php85 for array_first() and array_last() 2025-10-03 14:27:05 +02:00
rcube_imap_generic.php Minor phpdoc fix 2025-10-29 14:14:20 +01:00
rcube_imap_search.php Code improvements, PHPDoc fixes 2024-03-29 16:18:20 +01:00
rcube_imap.php Use symfony/polyfill-php85 for array_first() and array_last() 2025-10-03 14:27:05 +02:00
rcube_ldap_generic.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_ldap.php CS-Fixer: Enable modernize_strpos 2025-08-15 13:20:24 +02:00
rcube_markdown.php Render text/markdown mimeparts as HTML (#9899) 2025-06-19 17:01:09 +02:00
rcube_message_header.php IMAP: Partial support for ANNOTATE-EXPERIMENT-1 extension (RFC 5257) 2024-12-11 14:56:49 +01:00
rcube_message_part.php Fix decoding of attachment names encoded using both RFC2231 and RFC2047 standards (#9725) 2025-02-02 13:58:39 +01:00
rcube_message.php Support early MIME types for S/MIME encrypted messages (#9973) 2025-09-21 10:14:24 +02:00
rcube_mime_decode.php Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
rcube_mime.php Prepend group-names to display-name 2025-09-17 14:38:12 +02:00
rcube_output.php Get rid of IE related code 2025-10-08 11:13:26 +02:00
rcube_plugin_api.php Allow additional attributes for included scripts 2025-10-27 15:34:19 +01:00
rcube_plugin.php Allow additional attributes for included scripts 2025-10-27 15:34:19 +01:00
rcube_result_index.php PHPCS: phpdoc_annotation_without_dot=true (default) 2024-04-14 10:32:35 +02:00
rcube_result_multifolder.php Use symfony/polyfill-php85 for array_first() and array_last() 2025-10-03 14:27:05 +02:00
rcube_result_set.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_result_thread.php Update links in comments and config to https where available (#9759) 2025-01-26 13:34:57 +01:00
rcube_session.php Replace changed by expires_at in session handling 2025-12-04 14:47:16 +01:00
rcube_smtp.php CS-Fixer: Enable modernize_strpos 2025-08-15 13:20:24 +02:00
rcube_spellchecker.php Code improvements in the spellchecker classes 2024-03-17 10:19:25 +01:00
rcube_spoofchecker.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_storage.php Fix new phpstan errors 2025-11-22 15:07:31 +01:00
rcube_string_replacer.php Fix regression in handling of non-unicode characters in a plain text message (#9953) 2025-08-13 19:41:18 +02:00
rcube_text2html.php Add rel='noopener' to all links opening in a new window 2025-11-04 16:03:22 +01:00
rcube_tnef_decoder.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_uploads.php Fix binary operator spaces CS (#9330) 2024-02-02 07:53:34 +01:00
rcube_user.php Enforce leading backslash for non-namespaced non-Roundcube uses (#9935) 2025-08-15 10:27:00 +02:00
rcube_utils.php Fix the regexp so it will produce less false-positives 2025-12-15 11:36:05 +01:00
rcube_vcard.php Contact import improvements (#9431) 2025-10-08 13:36:57 +02:00
rcube_washtml.php Fix Cross-Site-Scripting vulnerability via SVG's animate tag 2025-12-14 09:01:26 +01:00
rcube.php Run test with PHP 8.5-rc (#9970) 2025-09-14 11:33:38 +02:00
README.md Set minimum required PHP version to 8.1 (#9599) 2025-02-16 10:09:23 +01:00

Roundcube Framework

INTRODUCTION

The Roundcube Framework is the basic library used for the Roundcube Webmail application. It is an extract of classes providing the core functionality for an email system. They can be used individually or as package for the following tasks:

  • IMAP mailbox access with optional caching
  • MIME message handling
  • Email message creation and sending through SMTP
  • General caching utilities using the local database
  • Database abstraction using PDO
  • VCard parsing and writing

REQUIREMENTS

PHP Version 8.1 or greater including:

  • PCRE, DOM, JSON, Session, Sockets, OpenSSL, Mbstring, Filter, Ctype, Intl (required)
  • PHP PDO with driver for either MySQL, PostgreSQL, or SQLite (required)
  • Iconv, Zip, Fileinfo, Exif (recommended)
  • LDAP for LDAP addressbook support (optional)

INSTALLATION

Copy all files of this directory to your project or install it in the default include_path directory of your webserver. Some classes of the framework require external libraries. See composer.json for the list of required packages.

USAGE

The Roundcube Framework provides a bootstrapping file which registers an autoloader and sets up the environment necessary for the Roundcube classes. In order to make use of the framework, simply include the bootstrap.php file from this directory in your application and start using the classes by simply instantiating them.

If you wanna use more complex functionality like IMAP access with database caching or plugins, the rcube singleton helps you loading the necessary files:

<?php

define('RCUBE_CONFIG_DIR',  '<path-to-config-directory>');
define('RCUBE_PLUGINS_DIR', '<path-to-roundcube-plugins-directory');

require_once '<path-to-roundcube-framework/bootstrap.php';

$rcube = rcube::get_instance(rcube::INIT_WITH_DB | rcube::INIT_WITH_PLUGINS);
$imap = $rcube->get_storage();

// do cool stuff here...

?>

LICENSE

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License (with exceptions for plugins) as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see www.gnu.org/licenses/.

This file forms part of the Roundcube Webmail Framework for which the following exception is added: Plugins which merely make function calls to the Roundcube Webmail Framework, and for that purpose include it by reference shall not be considered modifications of the software.

If you wish to use this file in another project or create a modified version that will not be part of the Roundcube Webmail Framework, you may remove the exception above and use this source code under the original version of the license.

For more details about licensing and the exceptions for skins and plugins see roundcube.net/license

CONTACT

For bug reports or feature requests please refer to the tracking system at Github or subscribe to our mailing list. See roundcube.net/support for details.

You're always welcome to send a message to the project admins: hello(at)roundcube(dot)net