roundcube / roundcubemail

The Roundcube Webmail suite
https://roundcube.net
GNU General Public License v3.0
5.79k stars 1.62k forks source link

import feature of mbox large file throw javascript jquery error #8153

Closed Ddataa closed 3 years ago

Ddataa commented 3 years ago

Hello,

First of all, thanks a lot for your great work on this project and the effort made to maintain such a great webmail !! :+1: I am trying to import emails using the import feature of roundcube. Having configure nginx to accept large uploads with below parameters :

keepalive_timeout 16000;
client_max_body_size=16G;
client_body_timeout 16000s;

also I adapt my roundcube configuration parameter like below

$config['imap_timeout'] = 16000;

then I connect to roundcube webmail and click on the button more and then the option import, select the file to import, which is a 7.5 G mbox file and press the button import. at first there is a little notification saying "importing please wait" at the bottom right of screen but the console is throwing error messages like the screenshot below

screenshot_upload_roundcubemail1

eventually the notification disappear but it seems like the import is still running. it left the user unsure of what is happenning and most likely refreshing the page or closing tab.

How can we make use of this feature of importing mbox files when they are large ? What adjustment needs to be made to configuration on server side ? How can this jquery error can be eventually solved too ?

Ddataa commented 3 years ago

alternatively I also have a variant of this error message in console like the screenshot below

screenshot_upload_roundcubemail

also to mention that the import never succeed since there is no way to know if the upload or import is still active or not as it might takes time the user ends up closing the tab or refreshing the page.

alecpl commented 3 years ago

This javascript error is strange. What version?

Aside of this error, there are a few other limits that can get into play. Hardcoded 3 minutes limit for http request in the app.js. PHP memory limit, execution time limit, post size limit, etc. Check the Roundcube and http server logs.

Ddataa commented 3 years ago

roundube version is 1.4.11

There is no clue in http server logs neither in roundcube logs. Can you explain the limit you mention ?

For php memory limit it seems already sets at 16G

How can we expect to provide to the user the possibility of import up to 16GB it there is an hard-coded limit of 3min ?

Is it or is it not possible to import a large mbox file, if yes how to do so ?

alecpl commented 3 years ago

I doubt anyone tried. 16GB file is really big for any case involving file upload, parsing and importing. I'm not saying it wouldn't be possible to implement that in a way that works, but it's more complicated. There are better tools for such cases, e.g. imapsync, or depending on how imap server stores the mail internally there might be other faster ways.