Hello world! Про Roundcube.

Июнь 9, 2011 at 11:27 1 комментарий

Вот и наконец моя первая статья.

Недавно полностью переделала корпоративную почту. Выбрала связку postfix+dovecot+пользователи в mysql.  Веб-интерфейс прикрутила сразу и забыла. Вначале это был squirrelmail. Все было прекрасно. Кроме одного — интерфейс не очень симпатичный. Прислушалась к требованиям пользователей и заменила его на roundcube.
Поскольку у меня Ubuntu на почтовом сервере, то не долго думая, я поставила пакет из портов. Проверила, что почта ходит и успокоилась. Но тут стали поступать жалобы: когда письмо с аттачем отправляется из roundcube, то у адресата вместо имени вложения — noname (на gmail), Untitled(на mail.ru) и еще всякий ужас.  В самом же roundcube — тишь да гладь, все имена файлов отображаются корректно. Стала разбираться.
После чтения php-кода выяснилось, что roundcube использует PEAR и соответственно mime.php для формирования письма. Он нашелся в /usr/share/php/Mail вместе с mimeDecode.php и mimePart.php.
У меня стояли самые свежие пакеты php(5.2.10) и roundcube(0.2.1) из репозитория Ubuntu. Поэтому надеяться на пофиксенные обновления было нельзя. Я решила проблему так:
1. В mime.php используется magic_quotes. Так что стоит включить их в php.ini или в настройках веб-сервера(у меня апач), если это не противоречит безопасности. После этого у меня корректно стали отображаться имена вложений, не содержащие кириллицу.
2. В конфиге roundcube задала полное соответствие RFC2047.

 $rcmail_config['mime_param_folding'] = 2; 

Конфиг находится в /etc/roundcube/main.inc.php
3. Я обновила из http://pear.php.net/package/Mail_Mime/download 3 файла: mime.php, mimePart.php и mimeDecode.php. Соответственно сменила права на -rw-r—r—, владелец — root.
Как я поняла, основная проблема — в mimePart.php. Там выясняется, есть ли в каком-либо заголовке не US-ASCII символы, а также будет применяться base64, QP и тп или нет. Из-за ограничения RFC2047 на длину заголовка в 75 символов, уже закодированные названия файлов из аттача делятся на несколько подстрок. Не каждый почтовый клиент или веб-интерфейс правильно интерпретирует такое деление. Поэтому могут возникать несуществующие вложения с именами типа part3. Стандарт есть стандарт, но можно попробовать задать максимальную длину заголовка, скажем, в 300 символов. Но я думаю, что проблемы тогда возникнут уже из-за выхода за длину строки.

Реклама

Entry filed under: Mail Server. Tags: , , , , , , , , , , .

Недоступна сетевая папка с обновлением KAV.

1 комментарий Add your own

  • 1. Raine  |  Октябрь 2, 2013 в 06:38

    Спасибо. Только mimeDecode.php менять не обязательно

    Ответить

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed



%d такие блоггеры, как: