roundcubemail/program/lib/Roundcube
Aleksander Machniak c9270783c0 CS/PHPDoc fix
2025-07-13 13:37:51 +02:00
..
cache Bump PHP version for CS fixer, enable some default rules 2025-05-04 12:59:37 +02:00
db BUG: get_variable for postgres never returns a value (#9710) 2024-11-24 14:18:06 +01:00
session Fix new phpstan errors 2024-09-12 09:52:42 +02:00
spellchecker Update links in comments and config to https where available (#9759) 2025-01-26 13:34:57 +01:00
bootstrap.php CS/PHPDoc fix 2025-07-13 13:37:51 +02:00
html.php Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
rcube_addressbook.php Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
rcube_addresses.php Add override method attributes (#9272) 2024-06-02 15:57:56 +02:00
rcube_base_replacer.php Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
rcube_browser.php Fix binary operator spaces CS (#9330) 2024-02-02 07:53:34 +01:00
rcube_cache.php Fix removing/expiring redis/memcache records when using a key prefix 2025-04-18 14:41:25 +02:00
rcube_charset.php Remove set_error_handler() use around mb_convert_encoding() (#9799) 2025-03-30 18:16:45 +02:00
rcube_config.php Render text/markdown mimeparts as HTML (#9899) 2025-06-19 17:01:09 +02:00
rcube_contacts.php bug fix: autocomplete fails if contactlist_fields contains vcard fields (#9850) 2025-06-15 09:08:26 +02:00
rcube_content_filter.php Add override method attributes (#9272) 2024-06-02 15:57:56 +02:00
rcube_csv2vcard.php Fix new phpstan errors 2025-03-24 18:14:40 +01:00
rcube_db.php Use str_starts_with() where applicable 2025-03-30 11:32:38 +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 Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
rcube_imap_cache.php Bump PHP version for CS fixer, enable some default rules 2025-05-04 12:59:37 +02:00
rcube_imap_generic.php Fix PHP deprecation warnings when handling an invalid BODYSTRUCTURE (#9896) 2025-07-05 15:28:00 +02:00
rcube_imap_search.php Code improvements, PHPDoc fixes 2024-03-29 16:18:20 +01:00
rcube_imap.php Fix PHP deprecation warnings when handling an invalid BODYSTRUCTURE (#9896) 2025-07-05 15:28:00 +02:00
rcube_ldap_generic.php Add override method attributes (#9272) 2024-06-02 15:57:56 +02:00
rcube_ldap.php - Fix connecting to LDAP using ldapi:// URI (#8990) 2025-05-25 09:40:50 +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 Render text/markdown mimeparts as HTML (#9899) 2025-06-19 17:01:09 +02:00
rcube_mime_decode.php Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
rcube_mime.php CS fix 2025-04-23 17:22:07 +02:00
rcube_output.php Bump PHP version for CS fixer, enable some default rules 2025-05-04 12:59:37 +02:00
rcube_plugin_api.php Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
rcube_plugin.php Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
rcube_result_index.php PHPCS: phpdoc_annotation_without_dot=true (default) 2024-04-14 10:32:35 +02:00
rcube_result_multifolder.php PHPCS: phpdoc_annotation_without_dot=true (default) 2024-04-14 10:32:35 +02:00
rcube_result_set.php Add override method attributes (#9272) 2024-06-02 15:57:56 +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 Update links in comments and config to https where available (#9759) 2025-01-26 13:34:57 +01:00
rcube_smtp.php Fix new phpstan errors 2025-05-20 15:30:06 +02:00
rcube_spellchecker.php Code improvements in the spellchecker classes 2024-03-17 10:19:25 +01:00
rcube_spoofchecker.php Fix CS (whitespace, visibility) (#9297) 2024-01-04 14:26:35 +01:00
rcube_storage.php Add annotate_message() to the storage interface 2024-12-11 15:08:44 +01:00
rcube_string_replacer.php Improve link matching pattern in the string replacer 2025-05-25 08:43:28 +02:00
rcube_text2html.php Code improvements 2024-03-24 10:29:31 +01:00
rcube_tnef_decoder.php Bump PHP version for CS fixer, enable some default rules 2025-05-04 12:59:37 +02:00
rcube_uploads.php Fix binary operator spaces CS (#9330) 2024-02-02 07:53:34 +01:00
rcube_user.php CS fixes (for the new fixer version rules) 2025-02-23 11:51:27 +01:00
rcube_utils.php Validate URL parameter in upload code (#9865) 2025-06-01 09:17:23 +02:00
rcube_vcard.php Use str_starts_with() where applicable 2025-03-30 11:32:38 +02:00
rcube_washtml.php Use PHPStan v2 2025-03-16 13:33:15 +01:00
rcube.php Fix new phpstan errors 2025-05-20 15:30:06 +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