The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Dovecot IMAP для XMail (xmail mail imap dovecot)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: xmail, mail, imap, dovecot,  (найти похожие документы)
From: Dmitry A. Vinogradov <vshekun@mail.ru.> Newsgroups: email Date: Mon, 12 Oct 2008 17:02:14 +0000 (UTC) Subject: Dovecot IMAP для XMail Введение -------- Появилась задача прикрутить WEB-интерефейс к XMail. После недолгих поисков, был найден PHP-скрипт, позволяющий вытаскивать данные об учетных записях из XMail. Устанавливаем dovecot # wget http://dovecot.org/releases/1.1/dovecot-1.1.3.tar.gz # tar -xzf dovecot-1.1.3.tar.gz # cd dovecot-1.1.3 Т.к. мне не нужно ни чего кроме обычного IMAP, то отказываюсь от лишнего балласта. # ./configure --enable-static \ --disable-ipv6 \ --without-pam \ --without-shadow \ --without-pop3d \ --without-ssl # make # make install Конфиг /usr/local/etc/dovecot.conf base_dir = /var/run/dovecot/ login_dir = /var/run/dovecot/login protocols = imap disable_plaintext_auth = no ssl_disable = yes info_log_path = /var/MailRoot/logs/dovecot-info.log log_path = /var/MailRoot/logs/dovecot.log log_timestamp = "%b %d %H:%M:%S " mail_debug = no auth_debug = no auth_debug_passwords = no login_chroot = yes login_user = dovecot # mail_uid не должен быть определен в passwd. Рекомендуется использовать "нереальные" uid от 30000 и выше. mail_uid=50000 mail_gid=dovecot # Приводит имя пользователя к нижнему регистру auth_username_format = %Lu mail_location = maildir:/var/MailRoot/domains/%d/%n/Maildir protocol imap { login_executable = /usr/local/libexec/dovecot/imap-login mail_executable = /usr/local/libexec/dovecot/imap } auth default { verbose = yes mechanisms = plain passdb passwd-file { args = username_format=%u /var/MailRoot/dovecotusers.tab } userdb passwd-file { args = username_format=%u /var/MailRoot/dovecotusers.tab } user = root } Подготавливаем XMail Т.к. XMail хранит папки учетных записей MailBox в том же регистре, что и имя пользователя, то мы получаем регистрозависимость dovecot. Я переконвертил в mailusers.tab имена пользователей и их папки в нижний регистр. Ниже привожу скрипт конвертации. Запускать его надо из каталога XMail (/var/MailRoot). Скрипт conv_mailusers.sh: #!/bin/sh # 1. Convert mailusers.tab cp mailusers.tab mailusers.tab.backup cat mailusers.tab.backup | sed 's/\([^\t]*\t"\)\([^\t]*\)\("\t[^\t]*\t[^\t]*\t"\)\([^"]*\)/\L\1\2\E\3\L\4\E/' > mailusers.tab # 2. Convert domain folder structure cd domains for domain in `cat ../domains.tab | sed 's/\"//g'` do cd $domain for dir in `ls -1` do ddir=`echo $dir | tr A-Z a-z` test -e $ddir || mv $dir $ddir done cd .. done xmail2dovecot Мне было удобнее работать с открытыми паролями учетных записей, поэтому я внес некоторые коррективы в скрипт. Так же исправил некоторые ошибки, кот. выдавал PHP4: diff orig/xmail2dovecot.php xmail2dovecot.php 31,33c31,33 < $XMAILADMINUSERNAME = ''; < $XMAILADMINPASSWORD = ''; //put your xmail admin pwd < $CONFIGURED = ''; //Set this to "YES" when done configuration --- > $XMAILADMINUSERNAME = 'XMailAdmin'; > $XMAILADMINPASSWORD = 'XMailPassword'; //put your xmail admin pwd > $CONFIGURED = 'YES'; //Set this to "YES" when done configuration 36,37d35 < < 101a100 > global $l_domain, $l_editname; 194a194,195 > $addr1=""; > 207c208 < if ($addr1 == "??") $addr1 = ""; --- > if ( $addr1 == "??") $addr1 = ""; 209c210,211 < print "$var[1]@$var[0]:".shadow($var[2])."\n"; --- > # print "$var[1]@$var[0]:".shadow($var[2])."\n"; > print "$var[1]@$var[0]:{plain}".$var[2]."\n"; Создаем базу данных учетных записей для dovecot (редактируем переменные $XMAILADMINUSERNAME и $XMAILADMINPASSWORD и запускаем): # /var/MailRoot/xmail2dovecot.php > /var/MailRoot/dovecotusers.tab Заключение Проверяем работу: # dovecot # telnet127.0.0.1 143 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. * OK Dovecot ready. a login AdMiN@ExaMple.ru xxxxxx a OK Logged in. a logout * BYE Logging out a OK Logout completed. Connection closed by foreign host.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру