Июн 18

Еще осенью у меня возникла идея развернуть собственный Web-клиент к почтовому ящику. Одно время для проверки почты в удаленных условиях я использовал портативную версию Thunderbird’а, потом пользовался он-лайн просмотровщиком от почтовой службы, но все это оказалось неудобным, т.к. Thunderbird на флэшке постоянно таскать неудобно и некомфортно (а в целях безопасности приходится еще и в контейнер его помещать), да и веб-версия от почтовика надоела рекламой. В общем, обновив уже имеющиеся версии почтовых клиентов я приступил к их практическому сравнению. Что из этого получилось можно прочитать далее…

SquirrelMail

Окно логина – к сожалению, возможности выбора почтового сервера нет - он жестко прописывается в файле конфигурации:

squirrelmail_login

Функционал можно расширить плагинами, но нужно быть осторожным -- после включения некоторых перестают отображаться различные элементы страницы, например панель папок, или панель просмотра почтового ящика. Удивило, но для функционирования SquirrelMail не нужна MySQL база данных.  Обзор содержимого почтового ящика не обошелся без проблем с кодировками. Вместо логичного действия по переводу каждого письма из его собственной кодировки в общую для UTF-8 при отображении используется простой вывод. Для просмотра русского текста приходится в браузере переключать кодировку страницы, но тогда отваливается в другом месте.

squirrelmail_inbox

Просмотр HTML-писем хотя и реализован в виде плагина, но все равно не заработал:

squirrelmail_html_view_errors

Порадовала уникальная возможность снятия почты с других почтовых аккаунтов прямо в исходный, для чего есть специальный плагин:

squirrelmail_more_servers

В общем сложилось впечатление заброшенного проекта.

AtMail Open

В данном WEB-клиенте окно логина по функционалу просто превосходное – можно даже выбрать тип сервера, POP3 или IMAP.

atmail_open_login

Сам почтовый интерфейс очень удобный и быстрый, но и его не избежала проблема с кодировками. В правом верхнем углу можно увидеть индикатор емкости почтового ящика, что редко встречается среди Web-mail клиентов (сами данные выдает почтовый сервер по IMAP).

atmail_open_inbox

Имеется и контекстное меню, работающее в FireFox, и позволяющее быстро осуществлять основные действия:

atmail_open_context_menu

Количество настроек очень скромное, хотя они больше предназначены для пользователя почтового ящика, чем для администратора.

atmail_open_settings

Есть встроенный менеджер папок (актуально для IMAP) и сортировщик писем.

atmail_open_folder_manager

HTML-письма отображаются корректно, жаль только, что в отдельном фрейме – получаются две полосы прокрутки.

atmail_open_html_view

Встроенный редактор писем имеет поддержку как PlainText, так и HTML формата. Возможность установить запрос уведомления о прочтении не обнаружилась.

atmail_open_compose_plaintextatmail_open_compose_html

PDA.Pochta.ru

Для сравнения имеет смысл глянуть на PDA-версию, предлагаемую почтовым сервером pochta.ru. В данном случае кодировки писем отрабатываются корректно, реклама – одна строчка внизу. Но вот если внимательно всмотреться, то можно увидеть, что они подменивают слова в теле письма на рекламные ссылки, и если, например, читать HTML-документ, то сложно будет определить, какие ссылки в нем настоящие, а какие реклама. Неудобно, что письмо нельзя удалить не открыв его сначала для чтения. С другой стороны, интерфейс очень простой и им можно пользоваться на самом захудалом канале.

pda_pochtaru_inbox

pda_pochtaru_html_view_advert

Теперь переходим к самому интересному –

RoundCube Webmail.

При апгрейде со старой версии инсталятор отказался работать и чистая установка тоже не запускалась, пока я не сообразил, что в нем прекращена поддержка PHP4.x и теперь уже нужен хостинг с PHP 5.x. После перевода ресурса на PHP5 установщик заработал.

Окно логина компактное с возможностью выбора IMAP сервера

roundcube_webmail_login

можно превратить в окно с предустановленным набором серверов (чтобы не вводить каждый раз адрес IMAP-сервера), для чего достаточно в конфигурационном файле (config/main.inc.php) изменить по образцу следующий параметр:

$rcmail_config['default_host'] = array('mail.pochta.ru','imap.gmail.com','mail.rambler.ru');

после чего должно получиться, например, так:

roundcube_webmail_login_list

Для еще большего упрощения процесса входа можно задать автодополнение имени пользователя доменом так, что вместо, например, username@domain вводится username. Для этого нужно откорректировать параметр (в одну строку):

 $rcmail_config['username_domain'] = array('mail.pochta.ru' => 'fromru.com',   'imap.gmail.com' => 'gmail.com', 'mail.rambler.ru' => 'rambler.ru');

Нужно еще повысить безопасность сессии, привязав ее к IP-адресу:

$rcmail_config['ip_check'] = true;

и на всякий случай установить кодировку UTF-8:

$rcmail_config['default_charset'] = 'UTF-8';

В качестве дополнительного функционала прикручивается проверка орфографии. Можно воспользоваться услугами google, но необходимо иметь в виду, что при проверке орфографии все тело письма отправляется на их сервера для проверки. Можно развернуть собственный сервер проверки орфографии, работающий по тому же протоколу, например, Nox Spell Server. При пустом значении параметра – автоматически используется google:

$rcmail_config['spellcheck_uri'] = '';

Русский язык добавляется так:

$rcmail_config['spellcheck_languages'] = array('en'=>'English', 'ru'=>'Russian');
Ну и чтобы все это заработало, нужно исправить ошибку в файле конфигурации (googlie –> googie):
$rcmail_config['spellcheck_engine'] = 'googie';

Опять же, тут тоже есть проблемы с кодировками, но другого характера – показывается то верно, то неверно. Причем сначала верно, но в процессе при обновлении страницы слетает. Отображение информации о емкости почтового ящика также поддерживается:

roundcube_webmail_inbox_encodingroundcube_webmail_inbox_encoding2[1]

Есть поддержка Drag-and-Drop – можно перетаскивать письма в папки. Можно создать несколько профилей для одного аккаунта и писать от разных адресов. В целом, если сделать переадресацию всей корреспонденции на один почтовый ящик, то потом с него можно будет отвечать всем адресатам с разных адресов.

roundcube_webmail_profile_manager

Есть встроенный менеджер IMAP папок, панель настроек с возможностью привязки к папкам.

roundcube_webmail_folder_manager

roundcube_webmail_setup3

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

roundcube_webmail_html_view

Встроенный редактор умеет работать с PlainText и HTML-письмами, поддерживается форматирование, вложения, уведомление о прочтении.

roundcube_webmail_compose_plaintext

roundcube_webmail_compose_html

RoundCube WebMail мне понравился больше других вариантов, к тому же в нем весь нужный мне функционал реализован и работает.

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Автор: Vasiliy \\ Метки:


4 комментария к “WebMail своими руками”

  1. 1. Dmitry V. Luciv пишет:

    Я RoundCube довольно много пользовался тоже (ставил не я, правда), наиболее симпатичная вещь.
    Вебморда M$ Exchange однозначно не канает против него, хотя это в принципе и другой природы вещь.

    Ответить

    Vasiliy Reply:

    Зато у Exchange зато есть свои плюсы — синхронизация с Outlook, с WM-девайсами (и может даже с некоторыми телефонами).

    Хотя для полного комплекта, имхо, roundecube’у не хватает только одновременной поддержки нескольких почтовых аккаунтов по одному логину (пускай из отдельной БД пользователей). Ну и анти-спам фильтра, хотя прогресс в этом направлении и есть, но требуется выделенный сервер и как это на виртуальном хостинге разрулить я пока не нашел. Зато кнопку для отправки выделенного спама сразу в помойку я уже прикрутил 🙂

    Ответить

  2. 2. Lovator пишет:

    Кто подскажет как в RoundCube Webmail сделать чтобы можно было выбирать виртуальные почтовые домены.Когда два почтовых домена на одном компе.

    Ответить

    Vasiliy Reply:

    Открыть config/main.inc.php в нем откорректировать по образу и подобию параметры:
    Для списка почтовых серверов:
    // the mail host chosen to perform the log-in
    // leave blank to show a textbox at login, give a list of hosts
    // to display a pulldown menu or set one host as string.
    // To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
    $rcmail_config[‘default_host’] = array(‘mail.pochta.ru’,’ssl://imap.gmail.com’,’ssl://mail.rambler.ru’);

    А это для автодополнения логина после @ для выбранного поддомена (тогда вместо набора логина user@gmail.com надо будет только набрать user).
    // Automatically add this domain to user names for login
    // Only for IMAP servers that require full e-mail addresses for login
    // Specify an array with ‘host’ => ‘domain’ values to support multiple hosts
    $rcmail_config[‘username_domain’] = array(‘mail.pochta.ru’ => ‘fromru.com’,’ssl://imap.gmail.com’ => ‘gmail.com’,’ssl://mail.rambler.ru’ => ‘rambler.ru’);

    Ответить

Оставьте комментарий или два