Скрипт переброса пользователей из Abills в базу postfixadmin

Ответить
Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Скрипт переброса пользователей из Abills в базу postfixadmin

Сообщение Shturm_N »

По ряду причин меня не устроил стандартный модуль Mail из Abills. Написал скрипт переброса пользователей в базу postfixadmin. Если кому пригодится делюсь:

Код: Выделить всё

<?php
    $link1 = mysql_connect("localhost", "xxxx", "yyyy") or
    die("Could not connect: " . mysql_error());
    mysql_select_db("abills", $link1);
    $result_ab = mysql_query("select DECODE(password,'zzzzzz'),id from users", $link1);

    $link2 = mysql_connect("localhost", "xxxx", "yyyy") or
    die("Could not connect: " . mysql_error());
    mysql_select_db("postfixadmin", $link2);
    $result_pa = mysql_query("select password,name from mailbox", $link2);

    $buff = array();
    while ($row_pa = mysql_fetch_array($result_pa, MYSQL_NUM)) {
        $buff[$row_pa[1]] = $row_ab[1];
    }

    while ($row_ab = mysql_fetch_array($result_ab, MYSQL_NUM)) {
        $buff[$row_ab[1]] = $row_ab[0];
    }

$res = mysql_query ("TRUNCATE TABLE aliases",$link2);
$res = mysql_query ("TRUNCATE TABLE mailbox",$link2);
    foreach ($buff as $login => $password)
        {
        #print $login . ' | ' . $password . "\r\n";

$res = mysql_query ("insert into alias (address, goto, domain, created, modified, active) values (\"$login@domain.net.ua\", \"$login@domain.net.ua\", \"domain.net.ua\", now(), now(), 1)",$link2);

$res = mysql_query ("insert into mailbox (username, password, name, maildir, quota, local_part, domain, created, modified, active) values
 (\"$login@domain.net.ua\", \"$password\", \"$login\", \"domain.net.ua/$login/\", 0, \"$login\", \"domain.net.ua\", now(), now(), 1)",$link2);
    }

    mysql_free_result($result_pa);
    mysql_free_result($result_ab);
?>
Несколько пояснений. Все пароли хранятся в базе postfixadmin в открытом виде. Поэтому авторизация в postfix и dovecot PLAIN. domain.net.ua заменить на название своего домена. Поправить на свои параметры доступа к базе и сменить в строке

Код: Выделить всё

$result_ab = mysql_query("select DECODE(password,'zzzzzz'),id from users", $link1); 
zzzzzz на то, что указано в вашем конфиге Abills в параметре $conf{secretkey}.
Далее все это забрасывается в /etc/crontab:

Код: Выделить всё

1    3  *  *  *   root     php /путь/к/скрипту/скрипт.php
Код корявый. Знаю и не спорю. Программист я никакой. Прошу сильно не пинать. Писал на пхп, потому, что стало интересно попробовать именно его в такой задаче.

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Скрипт переброса пользователей из Abills в базу postfixa

Сообщение ~AsmodeuS~ »

зачем такое делать если абилс поддерживает работу с почтой

Shturm_N
Сообщения: 141
Зарегистрирован: Вт мар 02, 2010 1:59 pm
Откуда: Lugansk
Контактная информация:

Re: Скрипт переброса пользователей из Abills в базу postfixa

Сообщение Shturm_N »

По ряду причин меня не устроил стандартный модуль Mail из Abills.
;)

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Скрипт переброса пользователей из Abills в базу postfixa

Сообщение ~AsmodeuS~ »

Мы всегда рады сторонним разработкам

Sergey Shumov
Сообщения: 38
Зарегистрирован: Пн май 05, 2008 4:00 pm
Контактная информация:

Re: Скрипт переброса пользователей из Abills в базу postfixa

Сообщение Sergey Shumov »

~AsmodeuS~ писал(а):Мы всегда рады сторонним разработкам
А если эта разработка будет стоить в 5 раз дешевле Вашего модуля ?
Потрёте всё ?
Sergey Shumov
System Administrator
ShS-UANIC
+380938046532

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Скрипт переброса пользователей из Abills в базу postfixa

Сообщение ~AsmodeuS~ »

Sergey Shumov писал(а):
~AsmodeuS~ писал(а):Мы всегда рады сторонним разработкам
А если эта разработка будет стоить в 5 раз дешевле Вашего модуля ?
Потрёте всё ?
учитывая что модуль почты бесплатный то сомниваюсь что ктото будет доплачивать за использования своего модуля )

Ответить