Email Scheduler / Undo send
Email Scheduler & Undo Send allows Roundcube users to delay, cancel or schedule the delivery of their email messages.
Key Features:
- Undo Send: A safety feature that allows you to cancel the sending of an email before it leaves your outbox.
- Email Reminders: ou can schedule your emails days or months in advance. Setup email reminders for your co-workers or even sent to yourself with the Email Scheduler.
- Scheduled Emails: Are your clients in a different time zone? Or perhaps you worked over the weekend and prefer your email to arrive on a Monday? With this roundcube plugini you can schedule your emails to be delivered at any time & date.
Compatibility
PHP 7.4 or higher Roundcube 1.5, 1.6 Database MySQL / Postgres
Frequently Asked Questions
Can I review a list of my scheduled emails from my inbox?
Yes. Within your webmail, you can view a complete list of all emails you’ve scheduled to be sent in the future.
Can I edit or cancel an email after it’s been scheduled?
Yes. Any scheduled email can be edited, canceled, or rescheduled at any time prior to its scheduled send date and time.
Screenshots
Pricing
$45
Details
| Latest upgrade | Oct 14, 2025 |
| Plugin version | 1.2.6 |
| Framework version | 2.0.5 |
View installation instructions
Installation instructions
ROUNDCUBE PLUS EMAIL SCHEDULE PLUGIN
====================================
This plugin allows users to schedule the delivery of their email messages. Scheduled messages can be sent with a delay
or at a specified date and time.
REQUIREMENTS
------------
- PHP: 7.4 or higher
- Roundcube: 1.5, 1.6
- Database: MySQL / Postgres
- System: Cron job
- Config: Drafts enabled
DISCLAIMER
----------
This plugin initiates email delivery when triggered by a cron job. If the cron job or the plugin is not properly set up,
the scheduled emails will not be sent.
Please make sure that the plugin works properly before making it available to your users. If you choose to use it in a
production environment, we cannot be held liable for any damages caused by delayed, unsent, or lost email messages.
INSTALLATION
------------
1. Copy the directories xemail_schedule and xframework included in this package to the 'plugins' directory of your
Roundcube installation.
2. Rename the file <roundcube>/plugins/xemail_schedule/config.inc.php.dist to config.inc.php.
3. Edit the file <roundcube>/plugins/xemail_schedule/config.inc.php and configure the plugin according to your needs.
4. Create a cron job that will trigger the scheduled email delivery (see the section below).
5. Edit the file <roundcube>/config/config.inc.php, add xemail_schedule to the plugins array, and specify your license
key.
6. Make sure drafts_mbox_mbox is not unset in <roundcube>/config/config.inc.php. The plugin needs the draft folder
enabled in order to edit scheduled messages. (Drafts_mbox is enabled by default.)
For more information on installing Roundcube Plus plugins, see:
https://roundcubeplus.com/helpdesk/knowledgebase.php?article=29
COMPATIBILITY / LIMITATIONS
---------------------------
1. This plugin has been created for the standard version of Roundcube as provided on the Roundcube website:
https://roundcube.net It might not work properly with customized versions of Roundcube, including the version
provided as part of the Kolab system. Please note that we cannot provide any technical support for the plugin
deployed on a non-standard version of Roundcube.
2. This plugin will not work with SQLite because SQLite uses a separate database for each user. For the cron script to
send scheduled messages, they need to exist in a common database table.
3. Scheduled emails will only be accessible from within Roundcube; they will not be accessible from any third-party
programs that access the IMAP server directly (for example, Outlook, Thunderbird, etc.).
4. The plugin might not work properly with the Enigma plugin.
5. The plugin might not schedule email messages that contain very large media or attachment files.
CRON SETUP
----------
In order for the plugin to send scheduled messages, a cron job must be set up on the server. The cron job must run every
minute.
Please note that the plugin checks for the existence of a functional cron job and will disable email scheduling if it
does not detect one.
There are two ways to set up the cron job: execute a PHP CLI script or access a URL.
(The examples below assume you are using a Linux server.)
OPTION 1: Access a URL
Add the following to your crontab:
* * * * * wget -O - <roundcube_url>/?xemail-schedule-cron=1 >/dev/null 2>&1
Replace <roundcube_url> with the full URL path of your Roundcube installation.
This method is easier to set up, but it cannot be used under cPanel because cPanel requires a user to be logged in to
access Roundcube. If you are running Roundcube under cPanel, use OPTION 2 below. (Note that in order to use the Email
Scheduler, cPanel Roundcube must use MySQL or Postgres, it won't work with SQLite.)
OPTION 2: Execute a PHP script
A) Add the following to your crontab:
* * * * * php <roundcube_file_path>/plugins/xemail_schedule/cron.php
Replace <roundcube_file_path> with the absolute directory path of your Roundcube installation. (Under cPanel, Roundcube
is usually installed in /usr/local/cpanel/base/3rdparty/roundcube.)
Note that the version of PHP running on the command line has a separate configuration from the version running through
the web server. You must make sure that both versions are set to the same timezone, or the messages will be sent at the
wrong time.
B) Change the permissions of the file <roundcube_file_path>/logs/sendmail to 0666 to allow the PHP CLI access to the
sendmail log.
SMTP AUTHENTICATION
-------------------
When a user sends a message while logged in to Roundcube, the user's username and password are used to authenticate with
the SMTP server. But when cron is executed, there is no logged-in user, so no username and password are available. If
the SMTP server requires authentication, it will refuse to send the scheduled messages.
The plugin offers two solutions to this problem.
OPTION 1: Store credentials with scheduled messages
If you set this config option to true: xemail_schedule_store_credentials_with_messages, the plugin will store all of the
user's SMTP settings (server, port, SSL mode, HELO host, username, password) with the scheduled message in the database.
The settings will be stored encrypted and deleted when the message is sent.
This is the simplest solution and does not require any additional server configuration. The two downsides are:
a) The user's SMTP password is stored in the database (encrypted).
b) If the user changes their account password, the scheduled messages will fail to send, as the old password will be
sent to the SMTP server.
OPTION 2: Use a common account for SMTP authentication
If you don't want to store user credentials in the database, you can set
xemail_schedule_store_credentials_with_messages to false, create a dummy email account, and set its credentials in the
config settings: xemail_schedule_smtp_user and xemail_schedule_smtp_pass.
In this case, the plugin will use the dummy account to authenticate with the SMTP server when sending messages for all
users.
The downside is that some servers require the authentication username to match the username in the "from" field of the
message being sent. If that is the case, you will see an error in your logs similar to: "Sender is not same as SMTP
authenticate username."
You may be able to fix this problem in your server's configuration. For example, here is the setting you can use to fix
this problem in iRedMail:
ALLOWED_LOGIN_MISMATCH_SENDERS = ['user@mydomain.com']
ATTACHMENT SIZE LIMITATIONS
---------------------------
To properly schedule messages, the Email Scheduler relies on Roundcube’s native mechanism that encodes and embeds
attachments in the email body. The maximum size of attachments that can be included depends on the PHP memory_limit
configuration. Roundcube uses the following formula to check if enough memory will be available for the process:
required_memory = total_attachment_size * 1.33 * 12
For example, the memory required to schedule a message with a 20 MB attachment is:
20 MB * 1.33 * 12 ≈ 320 MB
This means PHP must have at least 320 MB of memory available for Roundcube to properly encode the attachment. If your
server’s memory_limit is set lower than this value, the plugin will refuse to schedule the message and display an error,
preventing Roundcube from sending the message without the attachment.
To ensure attachments can be scheduled correctly, follow these steps:
1. On Roundcube’s compose page, check the “Maximum allowed file size” displayed.
2. Multiply that number by 1.33, then by 12.
3. Set the PHP memory_limit to a value larger than the result.
For example, if the maximum total file size allowed by Roundcube is 75 MB, the memory_limit value must be set to at
least:
75 MB * 1.33 * 12 ≈ 1,200 MB
If you cannot increase the memory_limit, lower the Roundcube max_message_size setting so that the maximum allowed file
size displayed on the compose page, when multiplied by 1.33 * 12, is smaller than your available memory_limit.
TECHNICAL EXPLANATION
---------------------
This section describes the technical details of the Email Scheduler operation.
When a user schedules a message, the plugin intercepts the email sending process and stores the message (along with
encoded attachments) in the table xemail_schedule_queue of the Roundcube database. A cron job running every minute
triggers the plugin's delivery system, which looks up the messages stored in the database and sends them at the correct
time.
Since the plugin might not have access to the individual IMAP accounts when sending messages, the copying of the
messages to the "sent" folder on the IMAP server is done the next time the user logs in to their Roundcube account.
The plugin keeps track of the cron execution time, and if it finds that the cron job has not executed within the last
120 seconds, it disables message scheduling and displays this note on the compose page: "Message scheduling is disabled.
Contact the administrator." This prevents users from scheduling messages that will never be sent.
This message is a clue for admins that the cron job is not functioning properly or it's not triggering the plugin's
delivery system. If you want to ensure that the delivery system itself works properly, you can manually navigate to this
URL in the browser:
<roundcube_url>/?xemail-schedule-cron=1
You should see stats showing how many messages have been sent as a result of this call.
The plugin will send all delayed messages when the delivery system is first triggered. In other words, if the cron job
has not been functioning properly and some scheduled messages were not sent, they will all be sent once the cron job is
fixed.
The cron job MUST run every minute. It's not possible to properly configure the plugin with cron jobs running every 5
or 10 minutes.
When the user edits a scheduled email, the email is saved as a draft on the IMAP server, removed from the database, and
edited using the compose page.
When the user deletes a scheduled email, the email is saved in the trash folder on the IMAP server (if enabled) and
removed from the database.
Since the scheduled messages are stored in the Roundcube database, this introduces two restrictions:
A) For the email scheduler to work properly, it must be running on a Roundcube installation that uses a single database,
for example, MySQL or PostgreSQL. It won't work with SQLite, because Roundcube using SQLite (as in newer cPanel
setups) might use multiple databases that the plugin's delivery system triggered by cron doesn't have access to.
B) The scheduled messages can't be accessed from third-party programs that connect to the IMAP server directly (Outlook,
Thunderbird, etc.).
Technically, it would be possible to store scheduled messages directly on the IMAP server, but the complexity of the
setup, server constraints, and security risks associated with that approach would make the Email Scheduler plugin
practically unusable for the majority of setups. Storing the scheduled messages in the database makes the plugin
accessible and requires minimal setup, even if this approach introduces some minor limitations.
LICENSE
-------
This plugin is distributed under a commercial license. In order to use the plugin, you must purchase the license
from Tecorama LLC. See the LICENSE file for details.
COPYRIGHT
---------
Copyright (c) 2025, Tecorama LLC
Change Log / Email Scheduler (xemail_schedule)
1.2.6 (2025-10-14)
==================
- smtp host, port, ssl, and helo values are stored with credentials in database
- added verification for scheduling attachments that exceed PHP memory_limit
- added unserialize check to verify scheduled messages
- added missing html string encoding
- added more error logging
- added technical documentation for AI Assistant
- UI fixes
1.2.5 (2024-11-08)
==================
- updated the queue mysql table to utf8mb4 and dynamic row format
- added smtp timeout config setting
- added functionality to store smtp credentials in database
- added Arabic translation
- added Bulgarian translation
- added Chinese (Simplified) translation
- added Chinese (Traditional) translation
- added Estonian translation
- added Greek translation
- added Hungarian translation
- added Japanese translation
- added Korean translation
- added Latvian translation
- added Portuguese (Portugal) translation
- added Slovak translation
- added Swedish translation
- updated license agreement
1.2.4 (2024-07-15)
==================
- fixed the timezone function
- upgraded the ajax system
- fixed issues with the scheduled message deletion
1.2.3 (2024-01-31)
==================
- changed the address_to database field from VARCHAR to TEXT
- added a before_save hook for integrating with other plugins
- fixed settings background image icons
1.2.2 (2023-05-09)
==================
- fixed the problems with scheduling messages containing images
- fixed the 'Send message' label target
- added Norwegian translation
1.2.1 (2023-02-15)
==================
- fixed time display of scheduled messages (timezone offset)
- made the plugin fully compatible with PHP 8.2
- added Czech translation
- added Danish translation
- added Dutch translation
- added Finnish translation
- added Indonesian translation
- added Italian translation
- added Lithuanian translation
- added Portuguese translation
- added Romanian translation
- added Slovenian translation
- added Spanish translation
- added Turkish translation
- updated French translation
- updated German translation
- updated Polish translation
- updated Russian translation
1.2 (2022-11-01)
================
- fixed PHP warnings on PHP 8
1.1.9 (2022-05-30)
==================
- restructured html insertions to prevent compatibility issues with third party plugins
- fixed the PHP warnings issued when saving saved messages in the sent folder
1.1.8 (2022-01-31)
==================
- fixed PHP warnings in the Roundcube 1.5.2 about dialog
- added the Italian translation
1.1.7 (2022-01-12)
==================
- fixed a PHP error thrown on timezone conversions in Roundcube 1.4
1.1.6 (2022-01-11)
==================
- added message deletion confirmation to the scheduled queue dialog
- fixed the scheduled queue dialog button UI
- fixed the flatpickr language file loading error
- changed the scheduled queue dialog time to local time
- upgraded the PHP code syntax
- changed the minimum required Roundcube version to 1.4
1.1.5 (2021-09-01)
==================
- fixed the settings icons display issues
- fixed button UI and icons
1.1.4 (2021-05-25)
==================
- made the cron job function thread-safe
- added foreign keys to the database table
- made the plugin compatible with the dark mode
- replaced gif loader with icon font spinner
- added the xemail_schedule_cron_execution_delay config option
1.1.3 (2020-12-07)
==================
- restructured the cron function to be more flexible
1.1.2 (2020-10-28)
==================
- added saving error messages for unsent emails and displaying them in the scheduled messages dialog
- changed the cron job execution so it doesn't stop the entire process if one message cannot be delivered
- anonymized email ids in error messages returned by the cron job
- improved the scheduled messages dialog UI
1.1.1 (2020-09-29)
==================
- fixed countdown before sending messages on mobile larry-based skins
- fixed the datetime picker input positioning issues
- replaced native mobile datetime picker display with standard display due to component functionality problems
- fixed flatpicr English language translation inclusion error
- improved German translation
1.1 (2020-09-14)
==================
- replaced the datetime picker component with flatpickr
- fixed the 'drafts not specified' error functionality
- updated countdown UI
- translated to Polish
- added some missing German translations
1.0.9 (2020-08-18)
==================
- added countdown before sending messages
- fixed problems with doubled send button clicks on RC 1.4 mobile devices
1.0.8 (2020-05-22)
==================
- translated to German
1.0.7 (2020-03-12)
==================
- added labels to output for backward compatibility
1.0.6 (2019-11-07)
==================
- changed the message date header to reflect the send time not the creation time
- added a close button to the scheduled message list dialog
- upgraded the plugin to work with Roundcube 1.4 RC2
- fixed sending at specific date/time
1.0.5 (2019-09-17)
==================
- fixed subject encoding for non-latin characters
- fixed text wrapping in the scheduled messages dialog
1.0.4 (2019-07-11)
==================
- translated to French
1.0.3 (2019-05-22)
==================
- updated to be compatible with Roundcube 1.4 RC1
1.0.2 (2019-02-06)
==================
- fixed the use of the xemail_schedule_cron_error_delay setting
- fixed error messages when deleting emails from the schedule list
- fixed the errors in display of date/time in schedule list due to timezones
- added displaying error messages in cron functions
1.0.1 (2018-10-15)
==================
- fixed the issue with failed sending due to incorrectly formatted 'from' addresses
- added an option to send to undisclosed recipients by leaving the 'to' field empty
1.0 (2018-07-03)
================
- initial release
Change Log / Plugin: Framework (xframework)
2.0.5 (2025-10-14)
==================
- added compatibility with Roundcube 1.7-beta
- updated UI
- improved clipboard functions
- improved template functions
- improved error handling in upgrade functions
- moved quick skin and language change functions from xskin to xframework
2.0.4 (2025-02-24)
==================
- updated automatic database upgrade system
- updated element colors
- added multibox app shortcut
- streamlined localization strings
- added 'copy to clipboard' functionality
2.0.3 (2024-11-08)
==================
- fixed upload functionality used by cloud plugins
- added Arabic translation
- added Bulgarian translation
- added Chinese (Simplified) translation
- added Chinese (Traditional) translation
- added Estonian translation
- added Greek translation
- added Hungarian translation
- added Japanese translation
- added Korean translation
- added Latvian translation
- added Portuguese (Portugal) translation
- added Slovak translation
- added Swedish translation
- updated license agreement
2.0.2 (2024-07-15)
==================
- changed the minimum required PHP version to 7.4
- discontinued Internet Explorer support
- added password show/hide toggle functionality
- added carddav plugin settings icon
- updated spinner animations
- fixed ajax incompatibilities with http 1.1
- fixed potential problems with internal url functions
2.0.1 (2024-04-02)
==================
- fixed the UI text color values
- updated the geo database
- optimized some internal functions
2.0 (2024-01-31)
================
- re-designed the icon sub-system for better performance and usability
- updated the geo database
- updated the common UI
1.9.9 (2023-09-16)
==================
- fixed a mismatched composer package version that required php 8
- updated the ajax error return method
1.9.8 (2023-09-13)
==================
- changed the minimum PHP version to 7.2
- upgraded the composer libraries
- eliminated GeoIP PHP deprecation warnings on PHP 8
- updated the GeoIP database
1.9.7 (2023-05-15)
==================
- modified the icon font to fix the chevron and checkbox icons
- fixed the menu icons on smaller screens
1.9.6 (2023-05-09)
==================
- added the woff2 version of the icon font
- changed the icon for the "Empty folder" action
- updated the translations to include the AI Assistant plugin
- added Norwegian translation
- centralized the controller api call interception
1.9.5 (2023-04-24)
==================
- updated the add_to_apps_menu config functionality to allow usage without $image
- updated settings functions to improve validation
1.9.4 (2023-04-18)
==================
- changed the outlined icon set
- added support for the xai plugin
- updated the common dialog code
1.9.3 (2023-03-14)
==================
- improved settings elements UI
1.9.2 (2023-02-27)
==================
- fixed the skin inheritance recognition
- fixed the download errors for cloud plugins
1.9.1 (2023-02-17)
==================
- changed the IPTools library version to fix PHP compatibility issues
1.9 (2023-02-15)
================
- upgraded svg_sanitizer to eliminate a security vulnerability
- upgraded geoip2 and the dependencies
- replaced the unmaintained tgalopin/html-sanitizer package with inbuilt function
- made the plugin fully compatible with PHP 8.2
- removed code providing RC 1.3 compatibility
- added the S1lentium/IPTools library
- added Danish translation
- added Dutch translation
- added Finnish translation
- added Indonesian translation
- added Lithuanian translation
- added Portuguese translation
- added Romanian translation
- added Slovenian translation
- added Spanish translation
- added Turkish translation
1.8.9 (2022-12-16)
==================
- fixed potential errors if the 'allowed_skins' config value is set to an incorrect value
1.8.8 (2022-11-01)
==================
- fixed svg support in the image upload function
- fixed the view loader function
- updated the xwebdav icon styles
1.8.7 (2022-10-12)
==================
- fixed problems with xsidebar config options being the wrong type
1.8.6 (2022-06-20)
==================
- standardized the minimum required PHP version across all plugins to 7.1
- added the HtmlSanitizer library
- replaced some icons to make the UI more uniform
- added icons for the carddav plugin
- fixed list icon positioning on the elastic-based skins
1.8.5 (2022-05-30)
==================
- restructured html insertions to prevent compatibility issues with third party plugins
- added settings icon for the Thunderbird Labels plugin
1.8.4 (2022-04-06)
==================
- fixed some potential html encoding problems
1.8.3 (2022-02-28)
==================
- added xwebdav icons and translations
- fixed select and save cloud button rendering
1.8.2 (2022-02-15)
==================
- icon modifications
- cloud class and css modifications
1.8.1 (2022-01-31)
==================
- fixed a PHP warning generated by the sidebar on RC 1.5.2
1.8 (2022-01-11)
================
- disabled the apps menu on cPanel due to popup positioning issues
- added the Italian translation
- removed promo support
- fixed user language loading
- fixed flatpickr styling
- fixed flatpickr language settings
- fixed csrf warning
- fixed checkbox display in dark mode
- changed the minimum required Roundcube version to 1.4
- upgraded the PHP code syntax
- eliminated several PHP warnings
1.7.9 (2021-09-08)
==================
- updated the cloud functions
1.7.8 (2021-09-01)
==================
- fixed the apps menu display when no apps present
- code upgrades to support the upgraded xskin
- modified settings/tools icons
- added modal dialog UI code
- added icon for xwebdav
- fixed outline icons in the icon font
- fixed icon size and positioning on buttons
- fixed button spacing
- fixed managesieve plugin icons
- fixed insert user compose icon
- fixed button icon position and size
- fixed the cloud attachment progress untranslated label
- fixed interface popup on larry-based mobile
- updated the cloud attach process to include the load link and file size
- updated the cloud attach process to be compatible with RC 1.5
1.7.7 (2021-08-05)
==================
- enabled support for svg image upload
1.7.6 (2021-07-21)
==================
- upgraded the icons in the icon font
- changed the apps menu to display apps in rows instead of columns
- added Google Drive and Dropbox icons to compose buttons
- updated the Polish translation
1.7.5 (2021-07-15)
==================
- updated the translations
1.7.4 (2021-06-02)
==================
- extended the functionality of hide_about_link to apply to all skins
1.7.3 (2021-05-25)
==================
- fixed and updated the icon font
- added support for dark mode
- removed gif loader images
- improved the database update functions
- internal input token function upgrades
- added support for the skins_allowed config option
- upgraded javascript libraries
- enabled sending system emails from the user identity email instead of the login email
- enhanced the function that returns the current url
- added icons for mailvelope
1.7.2 (2021-02-08)
==================
- fixed the managesieve plugin settings icons
1.7.1 (2021-01-21)
==================
- added icons for x2fa
1.7 (2021-01-11)
================
- added settings icons for x2fa and twofactor_gauthenticator
1.6.9 (2020-11-11)
==================
- updated the German translation
1.6.8 (2020-10-19)
==================
- reduced the size of the roundcube_plus_icon fonts
- added xcalendar mobile new functionality icons
1.6.7 (2020-09-14)
==================
- replaced the datetime picker component with flatpickr
1.6.6 (2020-06-23)
==================
- fixed potential ajax request errors due to ob_clean in sendResponse and Cloud attachment download
1.6.5 (2020-04-29)
==================
- fixed the issue with switching the language to Spanish (Latin America); saving the invalid es_419 as es_ES
1.6.4 (2020-03-12)
==================
- fixed missing scrollbars in full-screen message view (caused by the imported Google Drive js)
- updated icon font
- added function Format::stringToTimeWithFormat() that properly handles decoding d/m/y formats
1.6.3 (2020-03-02)
==================
- fixed the default sidebar visibility state on Elastic-based skins
1.6.2 (2020-02-21)
==================
- fixed an error in getUrl during CalDAV requests
1.6.1 (2020-02-14)
==================
- fixed problems with popover scrollbars on Elastic-based skins
- removed a potential problem with url trailing slashes
1.6 (2020-02-10)
================
- cleaned up and improved javascript and PHP code
- added an config overwrite for the url where Roundcube currently runs (overwrite_roundcube_url)
- fixed the problem select menus getting hidden when using their scroll bars on Elastic-based skins
1.5.9 (2020-01-08)
==================
- added cPanel icon for the return_to_webmail cPanel plugin
1.5.8 (2020-01-02)
==================
- improved xsidebar UI
- added optional attachments to sendHtmlEmail()
- fixed 'hack attempt' log warning when reordering sidebar
1.5.7 (2019-12-17)
==================
- fixed incorrect skin detection on logout (RC 1.4)
- fixed database quoting
- fixed some utils functions
1.5.6 (2019-12-04)
==================
- improved support for SQLite
- improved api functions
1.5.5 (2019-11-25)
==================
- fixed issues with the disable_apps_menu config option
- improved api functions
1.5.4 (2019-11-07)
==================
- fixed Google Drive image attachment save buttons
- added settings links to sidebar titles
- added larry to the quick skin change select
- fixed formatting of plugin links in app menu
- fixed apps menu select UI
- fixed sidebar show/hide button icon
- fixed apps menu text UI
- upgraded the plugin to be compatible with Roundcube 1.4 RC2
1.5.3 (2019-10-10)
==================
- fixed popup menus that randomly didn't execute angular actions (e.g. calendar event preview)
- added new debugging functions
1.5.2 (2019-09-04)
==================
- optimized and improved the image upload function
1.5.1 (2019-09-02)
==================
- added customer config support for multi-client systems (config_ini_file and config_ini_allowed_settings)
- improved api security
- removed phpunit vendor package
- updated mobiledetect
- updated maxmind-db reader
- added a function for resaving and resizing uploaded images
1.5 (2019-07-17)
================
- fixed problems with remote analytics loading
1.4.9 (2019-07-11)
==================
- translated to French
1.4.8 (2019-06-11)
==================
- added crc function
1.4.7 (2019-06-05)
==================
- updated mobile formatting
- fixed sidebar open/close button icons
1.4.6 (2019-05-22)
==================
- upgraded to work with Roundcube 1.4 RC1
- fixed icon placement in icon font
- added 'solid' icon set in icon font
- added forwarded/replied icon in icon font
1.4.5 (2019-03-08)
==================
- fixed 32-bit platform compatibility
1.4.4 (2018-08-01)
==================
- updated geo definitions
- updated mobile detect
- updated docs
- fixed minor code problems
1.4.3 (2018-07-03)
==================
- changed ajax response functions
- added database error logging
- changed lastInsertId function to be fully compatible with Postgres
1.4.2 (2018-06-14)
==================
- fixed javascript time formatting
1.4.1 (2018-06-04)
==================
- added support for the thunderbird labels plugin
- added a config option to set default visibility of the sidebar (xsidebar_visible)
- fixed charset problem in sendHtmlEmail()
1.4 (2018-04-04)
================
- upgraded the plugin to be compatible with Elastic beta
1.3.2 (2017-12-11)
==================
- implemented multi-domain config functionality for all the plugins
1.3.1 (2017-12-06)
==================
- fixed sidebar settings page UI on mobile devices
- added new icons for the junk and not-junk buttons
1.3 (2017-11-09)
================
- upgraded vendor/maxmind to version 2.7
- upgraded geolite database to version 20171107
- upgraded Mobile_Detect to version 2.8.26
- added geo data session caching
1.2.9 (2017-11-01)
==================
- fixed markasjunk2 icons
- fixed analytics
1.2.8 (2017-09-04)
==================
- fixed port handling in Plugin::getUrl()
- fixed message list hover flag icon in widescreen view
1.2.7 (2017-08-18)
==================
- fixed the unsupported provider error in plugins that don't require db access
1.2.6 (2017-07-05)
==================
- fixed errors in Format.php when running /bin scripts
1.2.5 (2017-06-28)
==================
- moved the mobile layout setting functions to xskin
1.2.4 (2017-06-07)
==================
- made sidebar compatible with RC 1.3
- made the cloud plugin platform compatible with RC 1.3
- updated getUrl()
1.2.3 (2017-05-10)
==================
- upgraded the deprecated function rcube_idn_to_ascii()
- added a function to recognize cPanel in XFramework\Plugin
- fixed cloud-based plugin class
- fixed cloud-based attachment save function
- fixed cloud-based plugin UI
1.2.2 (2017-03-22)
==================
- changed the way of recognizing if Roundcube runs under cPanel
1.2.1 (2017-03-17)
==================
- fixed some 32-bit server incompatibility problems
- changed the rc+ watermark file location
1.2 (2017-03-07)
==================
- fixed a translation problem in Geo
- added Polish translation
1.1.9 (2017-03-01)
==================
- added a function for recognizing if running under cPanel
1.1.8 (2017-02-20)
==================
- included howler.js
1.1.7 (2017-02-15)
==================
- fixed toolbar icon size
- standardized translation files
1.1.6 (2017-02-07)
==================
- removed support for geoiplocation database
- set sidebar to be visible by default for new users
- changed the apps menu to include icons
- placed the apps menu behind settings on the menu bar
- changed saving collapsed sidebar items from cookie to user preferences
- moved rc+ font from xskin
- added German translation
1.1.5 (2017-01-16)
==================
- added config options add_to_apps_menu, remove_from_apps_menu
- described config options in the readme file
1.1.4 (2017-01-10)
==================
- made the plugin compatible with SQLite
1.1.3 (2017-01-04)
==================
- added the option of reordering sidebar items
- improved internal functions
1.1.2 (2016-12-19)
==================
- upgraded javascript libraries
- fixed redirection problems on IE
- fixed sidebar problems on IE
- fixed errors when running cleandb.sh
1.1.2 (2016-12-13)
==================
- fixed errors when using quick language change menu
1.1.1 (2016-12-09)
==================
- made plugin compatible with xactivate
- updated license agreement
1.1 (2016-11-30)
==================
- updated the maxmind database
- updated test class
- added unit tests
- added support for license key
- optimized the plugin code
- changed asl url
1.0.9 (2016-11-16)
==================
- made plugin compatible with db_prefix
- removed references to legacy functions
1.0.8 (2016-11-07)
==================
- added an function to create setting help popups
1.0.7 (2016-10-11)
==================
- fixed adding scripts and stylesheets so they don't use full url
1.0.6 (2016-09-27)
==================
- enabled setting skin via a url parameter
1.0.5 (2016-09-20)
==================
- changed the url function to recognize proxy addresses
- fixed the database functions to properly format bool values before saving
1.0.4 (2016-09-06)
==================
- added the Apps button on the toolbar for easy access to Roundcube Plus plugins
1.0.3 (2016-08-15)
==================
- fixed the Geo::getCountryName() warning
1.0.2 (2016-08-08)
==================
- upgraded to be compatible with RC 1.2.1
- upgraded to be compatible with mysql 5.7
1.0.1 (2016-07-04)
==================
- fixed problems with sorting the message list and changing the order of message columns
1.0 (2016-06-01)
================
- initial release
Requirements
| PHP | 7.4 or higher |
| Roundcube | 1.5, 1.6 |
| Database | MySQL / Postgres |
| System | Cron job |
| Config | Drafts enabled |
License
This product is licensed for a single Roundcube installation. In order to use it on multiple installations, you must purchase multiple copies of the product.
Support
This product includes full technical support while the subscription is active.
Demo
To see all the plugins and skins in action go to our demo site.