Страница 1 из 1

Roundcube Не проверяет максимальный размер письма

Добавлено: 2011-06-15 19:35:59
macgvai
День добрый,
существует не сильно нагруженный почтовый сервер FreeBSD 7.2 Exim+Vexim+Dovecot+Roundcube

Один из пользователей обнаружил проблему следующего содержания:
если в одно письмо прикрепить несколько файлов, то roundcube не проверяет максимальный размер письма.
При нажатии кнопки отправить письмо он достаточно долго думает и пользователю ничего не говорит, кнопка отправить становится неактивной и ни на что не реагирует.
Получается, что пользователь по факту превысил лимит размера сообщения, но сообщения об этом не получил и процесс отправки сообщения не дошел до exim, а вывалился еще при попытке отработать нажатие кнопки отправить в вебморде почты.
С точки зрения сервера ситуация выглядит как запись сообщения о превышении лимита памяти в файл

Код: Выделить всё

 /usr/local/www/roundcube/logs/errors
PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 28042757 bytes) in /usr/local/www/roundcube/program/lib/Mail/mimePart.php on line 289 
файлы настроек выглядят следующим образом

Код: Выделить всё

 cat /usr/local/www/roundcube/.htaccess
# AddDefaultCharset     UTF-8
AddType text/x-component .htc

<IfModule mod_php5.c>
php_flag        display_errors  Off
php_flag        log_errors      On
# php_value     error_log       logs/errors

php_value       upload_max_filesize     20M
php_value       post_max_size           25M
php_value       memory_limit            128M

php_flag        zlib.output_compression         Off
php_flag        magic_quotes_gpc                Off
php_flag        magic_quotes_runtime            Off
php_flag        zend.ze1_compatibility_mode     Off
php_flag        suhosin.session.encrypt         Off

#php_value      session.cookie_path             /
php_value       session.auto_start      0
php_value       session.gc_maxlifetime  21600
php_value       session.gc_divisor      500
php_value       session.gc_probability  1

# http://bugs.php.net/bug.php?id=30766
php_value       mbstring.func_overload  0
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^favicon.ico$ skins/default/images/favicon.ico
</IfModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

<IfModule mod_headers.c>
# replace 'append' with 'merge' for Apache version 2.2.9 and later
#Header append Cache-Control public env=!NO_CACHE
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>

FileETag MTime Size

и

Код: Выделить всё

cat /usr/local/etc/php.ini
date.timezone =Europe/Moscow
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60     ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB)
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files. Меняем размер вложенного файла.
upload_max_filesize = 20M
; размер почтового файла
; Maximum size of POST data that PHP will accept. Меняем размер почтового файла.
post_max_size = 25M

Попытка прояснить ситуацию на баг трекере roundcube показала что такая проблема существовала но её уже решили, однако у меня самая последняя версия, и как видите все таки происходит.
Проверил какими патчами проблема решалась ранее , сравнил свои файлы и не нашел разницы.

Может кто сталкивался ?

Re: Roundcube Не проверяет максимальный размер письма

Добавлено: 2011-10-02 22:11:11
Alex Keda
ну так всё верно
это же пых умер.

увеличивайте лимиты на раму - чтобы перекрывали лимиты smtp сервера минимум раза в полтора-два