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
Т.к. XMail хранит папки учетных записей MailBox в том же регистре, что и
имя пользователя, то мы получаем регистрозависимость dovecot. Я
переконвертил в mailusers.tab имена пользователей и их папки в нижний
регистр. Ниже привожу скрипт конвертации. Запускать его надо из каталога
XMail (/var/MailRoot).
# 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 и запускаем):
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.
801 Прочтений • [Dovecot IMAP для XMail (xmail mail imap dovecot)] [08.05.2012] [Комментариев: 0]