A Roundcube plugin which lets you directly view mail attachments in the browser with cloud viewers like Google Docs or Microsoft Office Web.
Viewer | Supported Formats |
---|---|
Google Docs | doc, docx, xls, xlsx, ppt, pptx, rtf |
Microsoft Office Web | doc, docx, xls, xlsx, ppt, pptx, odt, ott, ods, ots, odp, otp |
StackEdit | md |
Viewer | Supported Formats |
---|---|
HTML JS | htm, html |
Markdown JS | md |
PDF JS | |
PSD JS | psd |
This plugin is tested in the following environment.
- Roundcube:
1.4.0
,1.6.0
- PHP:
7.1.3
(min requirement),8.1
- Skin:
Classic
,Larry
,Elastic
Different environments may work as well without guarantee.
This plugin has been published on Packagist by the name of jfcherng-roundcube/cloudview.
- Go to your
ROUNDCUBE_HOME
(i.e., the root directory of your Roundcube). - Run
composer require jfcherng-roundcube/cloudview
. - Copy
config.inc.php.dist
toconfig.inc.php
and editconfig.inc.php
if you want.
- Create folder
cloudview
inROUNDCUBE_HOME/plugins
if it does not exist. - Copy all plugin files there.
- Copy
config.inc.php.dist
toconfig.inc.php
and editconfig.inc.php
if you want. - Edit
ROUNDCUBE_HOME/conf/config.inc.php
locate$config['plugins']
and add'cloudview',
there:
<?php
// some other codes...
$config['plugins'] = array(
// some other plugins...
'cloudview', // <-- add this
);
This plugin will extract attachments from messages into plugins/cloudview/temp/
so that remote cloud viewers can publicly access them.
- The
temp/
directory underplugins/cloudview/temp/
should be public accessible. - Make sure the user running the RoundCube server has "write" permission to the
temp/
directory. - Your RoundCube installation should be publicly accessible. I.e., not under an internal server.
Those temporary files under plugins/cloudview/temp/
will not be deleted automatically.
You will need to setup a cron job to periodically delete them.
For example, execute crontab -e
and add the following job
# delete temporary files on 03:00 AM every day
0 3 * * * rm -rf PATH_TO_ROUNDCUBE/plugins/cloudview/temp/*/
- You will need to have Node.js installed.
- Install dependencies via
npm install
(oryarn
if you prefer) - Compile assets with
./compile.sh
- The basic idea comes from https://github.com/brestows/cloudview-roundcube
- This plugin is initially sponsored by @Galandrix.