этот плагин позволяет клиентам собирать почту с екстерных акаунтов, работает fetchmail, тоесть собирает почту всегда, не только при логине в кубик!
таким образом собранaя почта в желаемом интервале (cron) будет также доступна если клиент пользует ПО для чтения почты и не логинется в кубик.
устанавлиаем fetchmail:
apt-get install fetchmail
качаем Backend0.2.zip и Frontend0.2.zip и распаковываем
wget
http://isp-control.net/forum/attachment.php?aid=1461
wget
http://isp-control.net/forum/attachment.php?aid=1460
unzip Backend-0.2.zip
unzip Frontend-0.2.zip
устанавливаем перл скрипт:
cp ./Backend-0.2/fetchmail.pl /var/mail/fetchmail.pl
mkdir /var/mail/fetchmail
chown -R vmail:mail /var/mail/fetchmail*
chmod -R 700 /var/mail/fetchmail*
в базе данных Roundcube добавляем таблицу:
CREATE TABLE `virtual_fetchmail` (
`mailget_id` int(11) NOT NULL auto_increment,
`userhere` varchar(50) collate utf8_unicode_ci NOT NULL,
`active` varchar(1) collate utf8_unicode_ci NOT NULL default '1',
`options` varchar(50) collate utf8_unicode_ci NOT NULL,
`type` varchar(50) collate utf8_unicode_ci NOT NULL default 'POP3',
`remoteserver` varchar(50) collate utf8_unicode_ci NOT NULL,
`remoteuser` varchar(50) collate utf8_unicode_ci NOT NULL,
`remotepass` varchar(50) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`mailget_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=144 ;
по
howto DragonZX кубик установлен в /var/www/ispcp/gui/tools/roundcube (это безусловно самое лучшее место для него)
устанавливаем плагин:
cp -R ./Frontend-0.2/ispcp_fetchmail /var/www/ispcp/gui/tools/roundcube/plugins/
vi /var/www/ispcp/gui/tools/roundcube/config/main.inc.php
ищем строку:
$rcmail_config['plugins'] = array('ispcp_pw_changer', 'managesieve', 'sieverules');
добавим плагин в эту строку:
$rcmail_config['plugins'] = array('ispcp_pw_changer', 'managesieve', 'sieverules'
, 'ispcp_fetchmail');
в конфиге плагина подправим количество екстерных акаунтов которые мы разрешаем собирать клиенту:
vi /var/www/ispcp/gui/tools/roundcube/plugins/ispcp_fetchmail/config/config.inc.php
$rcmail_config['fetchmail_limit'] = 3;
в перл скрипте укажем доступ к базе данных:
vi /var/mail/fetchmail.pl
$db_database="roundcubemail";
$db_username="roundcube"; #берем того-же юзера что по howto DragonZX прикурили кубику
$db_password="yourpassword"; #и тот-же пароль
теперь мы хотим чтоб почта собиралась регулярно, например каждые 5 минут:
crontab -e
*/5 * * * * sudo -u vmail /var/mail/fetchmail.pl > /dev/null 2&>1
создадим файл куда fetchmail будет писать логи:
touch /var/log/fetchmail
chown vmail:mail /var/log/fetchmail
chmod 600 /var/log/fetchmail
готово!
как работает плагин? весьма просто: плагин пишет настройки екстерных акаунтов в базу данных, cron стартует перл скрипт регулярно, скрипт создает временно файл fetchmailrc и стартует fetchmail. в итоге fetchmail собирает почту со всяких там mail.ru и тому подобных и сортирует в локальные ящики пользователя.
при каждом цыкле fetchmail получает самые свежые учетки, и стирает fetchmailrc после сборки.
- интерфейс (html template+css) свистнул от другого плагина который очень подходил, но походу разработки изменил досконально.
- кто найдет баги или имеет предложения улучшить плагин, сообщяйте мне или не гнушайтесь сами поковырять.
- есть минус, пароли к екстерным почтовым ящикам сохраняются в базе не кодировано (fetchmail требует plain, или?)
-
переводы на данный момент только английский и немецкий, кому не лень перевидите (папка localization добавить ru_RU.inc) на днях сам сделаю если никто не сделает добавил русский, прошу проверить на грамотность.
плагин качать из атачмента в моем немецком топике, там будет всегда самая актуальная версия прикреплена.
http://isp-control.net/forum/thread-11376.html
внимание: плагин работает только с кубиком версии 0.4 и выше (plugin api).