Sunday, January 21st, 2018

Dovecot IMAP для XMail

Published on Март 30, 2009 by   ·   Комментариев нет

Введение ——— Появилась задача прикрутить 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, то отказываюсь от лишнего балласта. moncler shops usa

 # ./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

Заключение Проверяем работу: [cc lang=»bash» tab_size=»2″ lines=»-1″] # dovecot # telnet127.0.0.1 143 Trying 127.0.0.1… Connected to 127.0.0.1. Escape character is ‘^]’. mu legend zen for sale * 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.


Смотрите также:

Readers Comments (Комментариев нет)




Да человек я, человек! =)

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]