postfixadmin 2.2

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение ProFTP » 2008-11-09 10:14:52

а кто как удаляет каталоги? он удаляет из базы но каталоги не удаляет...
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: postfixadmin 2.2

Непрочитанное сообщение freeman » 2008-11-09 16:06:42

ProFTP писал(а):а кто как удаляет каталоги? он удаляет из базы но каталоги не удаляет...
Я такое с самого начала предложения тут такой связки ( exim dovecot postfixadmin ) замечал и спрашивал. Тогда мне ответили в стиле "ручками ручками" ...
Остатся должен только один ...

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение ProFTP » 2008-11-09 16:59:22

postfixadmin фтопку, надо свой писать


примерно так подходит? только eval() добавить

то есь потом по крону удалять каталоги...
или как-то под другому надо? от sudo еще можно, но по крону больше нравиться...

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

my $sth = $dbh->prepare('SELECT t1.domain,
                                t2.mailbox,
                                t3.alias   
                         FROM domain AS t1,
                              mailbox AS t2,
                              alias AS t3
                         WHERE (t1.domain = ?) AND (t2.domain = t1.domain) AND (t3.domain = t1.domain) limit 1
                             '); 
    $sth->execute($domain); 
 my $dd = $sth->fetchrow_hashref();
             $sth->finish();
if ($dd{'domain'} eq $domain) {
eval {
$dbh->do("INSERT INTO delete_domain
              (domain,created)
              VALUES ($dd{'domain'},NOW())");
$dbh->do("DELETE FROM domain 
                         WHERE domain = $dd{'domain'}");
$dbh->commit();
}; 

if ($@) {
 warn "Transaction aborted $@";
eval {$dbh->rollback()};
$sth->finish();
$dbh->disconnect();
exit;
}
         
    if ($dd{'mailbox'} $dd{'mailbox'} > 0) {
      my $sth = $dbh->prepare('SELECT mailbox 
                         FROM mailbox
                         WHERE domain = ?
                             ');
    $sth->execute($domain); 
             $sth->finish();
      my $n=0; my @mailboxs=();
   while ($mailbox_del = $sth->fetchrow_array() ) {
          $mailboxs[$n++]=$mailbox_del;
          } 
        
    my $sth = $dbh->prepare('INSERT INTO delete_mailbox
              (domain,mailbox,created)
              VALUES (?,NOW())
                             ');
     
       eval {
       for ($i=0;$i<@mailboxs;$i++)
       {
         $id=$i+1;
          $sth->bind_param($id, $mailboxs[0]);
          $sth->execute();
         }        
        
        $dbh->do("DELETE FROM mailbox 
                         WHERE domain = $domain");
        
        $dbh->commit();
                             ');
       if ($@) {
       warn "Transaction aborted $@";
       eval {$dbh->rollback()};
       $sth->finish();
       $dbh->disconnect();
       exit;
       }
     }

     if ($dd{'alias'} && $dd{'alias'} > 0) {
             my $sth = $dbh->prepare('DELETE FROM alias
                         WHERE domain = ?
                             ');
            $sth->execute($domain); 
             $sth->finish();
                 }
      }  $dbh->disconnect();     
                
             
Последний раз редактировалось ProFTP 2008-11-09 19:49:45, всего редактировалось 4 раза.
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение Alex_hha » 2008-11-09 17:08:44

ну почему же не фиг ? :( , скрипт то реально работает , регинит юзеров и домены , что ещё нужно ? всё работает ...
postfixadmin делает тоже самое ;)
postfixadmin фтопку, надо свой писать
делать нечего или любишь изобретать велосипеды? :-D

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение ProFTP » 2008-11-09 17:10:51

почему он тогда не удаляет? можно в него внедрить стататистику с /var/log/maillog еще что-то придумать...
в принципе он не большой... его там писать пару дней... потом ошибки только исправлять
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Belfigor
рядовой
Сообщения: 25
Зарегистрирован: 2008-08-04 2:41:07
Откуда: Белгород
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение Belfigor » 2008-11-09 17:16:33

Alex_hha писал(а):
ну почему же не фиг ? :( , скрипт то реально работает , регинит юзеров и домены , что ещё нужно ? всё работает ...
postfixadmin делает тоже самое ;)
postfixadmin фтопку, надо свой писать
делать нечего или любишь изобретать велосипеды? :-D
Не ищу лёгких путей :roll: , ну а что ProFTP прав , с постфиксомадмином , уже многие намучились :crazy:
Да прибудет со мной Shell

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение Alex_hha » 2008-11-09 18:23:01

почему он тогда не удаляет?
что не удаляет?
Не ищу лёгких путей :roll: , ну а что ProFTP прав , с постфиксомадмином , уже многие намучились :crazy:
ню-ню, у меня чо то никаких проблем никогда не возникало

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение ProFTP » 2008-11-09 18:36:22

Alex_hha писал(а): что не удаляет?
каталоги
но там можно так на пхп:

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

system("sudo rm -rf /var/spool/mail/$domain");
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение Alex_hha » 2008-11-09 18:47:51

каталоги
в 2.2.1 все он удаляет, читать документацию не пробовал? ;)

Советую посмотреть в сторону
// Optional:
// Script to run after deletion of mailboxes.
// Note that this may fail if PHP is run in "safe mode", or if
// operating system features (such as SELinux) or limitations
// prevent the web-server from executing external scripts.
// $CONF['mailbox_postdeletion_script']='sudo -u courier /usr/local/bin/postfixadmin-mailbox-postdeletion.sh';
Также можно глянуть в сторону скрипта - mailbox_remover.pl прежде чем изобретать велосипед ;)

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение ProFTP » 2008-11-09 19:04:01

у меня версия старая, вот логи он смотреть не может наверное (но сделать можно легко)
хотя я не про то виду, что есть что и что нету...
Последний раз редактировалось ProFTP 2008-11-10 7:51:28, всего редактировалось 2 раза.
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Belfigor
рядовой
Сообщения: 25
Зарегистрирован: 2008-08-04 2:41:07
Откуда: Белгород
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение Belfigor » 2008-11-09 19:16:54

Так , не будем горячиться , я вот сейчас поднимаю сервак на ФРяхе , хочу настроить Postfix+Dovecot+Mysql+postfixadmin, так сказать адаптировать эту связку с Убунты под ФРяху , как раз и с postfixadmin разобраться до конца :x ,ну а там видно будет . Последний раз , когда я его юзать , он без проблем приконектился к БД , создавал домены и юзеров , но при подключении , с новыми юзерами Outlook и Mozilla Thunderbird рычали , что таких юзеров не существует, хотя в БД ящики были , повозившись с ним ещё часок , я опять вернулся на тот скрипт (см выше) :good:
Да прибудет со мной Shell

Alex_hha
лейтенант
Сообщения: 755
Зарегистрирован: 2005-11-06 18:25:26
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение Alex_hha » 2008-11-09 23:10:51

с новыми юзерами Outlook и Mozilla Thunderbird рычали , что таких юзеров не существует
а при чем тут MUA к postfixadmin?!

Аватара пользователя
Belfigor
рядовой
Сообщения: 25
Зарегистрирован: 2008-08-04 2:41:07
Откуда: Белгород
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение Belfigor » 2008-11-10 10:41:07

Alex_hha писал(а):
с новыми юзерами Outlook и Mozilla Thunderbird рычали , что таких юзеров не существует
а при чем тут MUA к postfixadmin?!
:cf:
Да прибудет со мной Shell

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение Cancer » 2008-11-10 12:21:11

Да вот еще нашел баг если можно это так назвать при редактрировании пароля с содержанием в нем апострофа ' или еще каких нить не допустимых символов для МУСИ
в пароле добавляет \' что бы этого обойти нужно убрать функцию escape_string она то за это и отвечает!

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

/usr/local/www/postfixadmin/edit-mailbox.php

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

ЗАкоментить вот это
    //if (isset ($_POST['fPassword'])) $fPassword = escape_string ($_POST['fPassword']);
   //if (isset ($_POST['fPassword2'])) $fPassword2 = escape_string ($_POST['fPassword2']);
Написать вот это
   if (isset ($_POST['fPassword'])) $fPassword = $_POST['fPassword'];
   if (isset ($_POST['fPassword2'])) $fPassword2 = $_POST['fPassword2'];
Последний раз редактировалось Cancer 2008-11-10 13:10:19, всего редактировалось 1 раз.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение ProFTP » 2008-11-10 13:02:01

не много не понял, ты добавлял...? добавлять не надо, так как оно экранирует специально, если ты выключишь эту функцию и даш кому-то пользоваться, то он инъекцию может сделать...
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение ProFTP » 2008-12-07 19:36:48

Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

dnk
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-01-14 18:10:46

Re: postfixadmin 2.2

Непрочитанное сообщение dnk » 2009-01-14 18:18:34

Обратите внимание на строки в конфиге

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

// When creating mailboxes or aliases, check that the domain-part of the
// address is legal by performing a name server look-up.
$CONF['emailcheck_resolve_domain']='NO';
если стоит YES - проверяет имя домена, NO - для тестового сервера
нужно (т.к. можно не поднимать ДНС)

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение ProFTP » 2009-01-17 21:38:22

Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

amalrik
проходил мимо
Сообщения: 5
Зарегистрирован: 2008-08-20 9:47:02

Re: postfixadmin 2.2

Непрочитанное сообщение amalrik » 2009-04-03 5:40:30

Приветствую всех, в постфиксадмине никто не сталкивался с проблемой: При отправке письма приветственного он секунд 30 думает только тогда отправляет. К слову сказать такая же ситуация наблюдалась и на squirrelmail, в то время как roundcube работает только в путь. Связка exim+dovecot. Я подозреваю что это acl какая-то долго отрабатывает. Может которая с чёрными листами работает?

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение Cancer » 2009-04-03 7:27:43

amalrik писал(а):Приветствую всех, в постфиксадмине никто не сталкивался с проблемой: При отправке письма приветственного он секунд 30 думает только тогда отправляет. К слову сказать такая же ситуация наблюдалась и на squirrelmail, в то время как roundcube работает только в путь. Связка exim+dovecot. Я подозреваю что это acl какая-то долго отрабатывает. Может которая с чёрными листами работает?

Смотри в сторону

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

  warn
        # ставим дефолтовую задержку в 30 секунд
        set acl_m0 = 30s
  warn
        # ставим задержку в 0 секунд своим хостам и
        # дружественным сетям (соседняя контора :))
        hosts = +relay_from_hosts : 127.0.0.1/8 : 192.168.1.0/24 : 83.222.25.0/24
        set acl_m0 = 0s

amalrik
проходил мимо
Сообщения: 5
Зарегистрирован: 2008-08-20 9:47:02

Re: postfixadmin 2.2

Непрочитанное сообщение amalrik » 2009-04-03 8:07:50

Я не ставил дефолтную задержку, а вот комментирование

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

  deny    message       = "host in blacklist - $dnslist_domain \n $dnslist_text"
          dnslists      = opm.blitzed.org : \
                          proxies.blackholes.easynet.nl : \
                          cbl.abuseat.org : \
                          bl.spamcop.net : \
                          bl.csma.biz : \
                          dynablock.njabl.org : \
Дало результаты.
Теперь возникает вопрос, как изменить это правило чтобы локалхост не проверялся.

Аватара пользователя
Cancer
Гл. Кастратор
Сообщения: 1269
Зарегистрирован: 2008-03-25 12:21:36
Откуда: г. Ростов-на-Дону
Контактная информация:

Re: postfixadmin 2.2

Непрочитанное сообщение Cancer » 2009-04-08 22:58:09

У кого vacation нормально работает в postfixadmin?????
я включил автоответ он естесно мой ящик добавил в БД далее отправляю письмо а он автответ пинает на мой ящик локальный

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

cancer#mydomain.ru@autoreply.mydomain.ru
И я конечно получаю Unrouteable address

и пробую отключить автответ, а он не отключается. Приходится руками из БД его убирать.

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

postfixadmin-2.2.1.1

Grass_snake
рядовой
Сообщения: 28
Зарегистрирован: 2006-06-20 22:54:36

Re: postfixadmin 2.2

Непрочитанное сообщение Grass_snake » 2009-07-01 19:43:04

Cancer писал(а):У кого vacation нормально работает в postfixadmin?????
я включил автоответ он естесно мой ящик добавил в БД далее отправляю письмо а он автответ пинает на мой ящик локальный

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

cancer#mydomain.ru@autoreply.mydomain.ru
И я конечно получаю Unrouteable address

и пробую отключить автответ, а он не отключается. Приходится руками из БД его убирать.

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

postfixadmin-2.2.1.1

Аналогичная ерунда получилась.

Поглядев немного скрипт edit-vacation.php понял что это такой механизм для transport-а postfix-а чтоб он понимал что это автоматические ответы. В пользовательском скрипте vacation.php даже комментарий имеется: We store goto addresses in the form of roger#example.com@autoreply.example.com.

И потом: // We need to see whether there is already an alias record for the user, or not.
// If not, we create one, else update the existing one.
.

Но как безболезненно убрать эту ненужную нам фичу я не понял. Не программист совсем. :st:

AzureZ
мл. сержант
Сообщения: 124
Зарегистрирован: 2007-11-06 17:07:27
Откуда: Москва

Re: postfixadmin 2.2

Непрочитанное сообщение AzureZ » 2009-07-02 15:05:58

На сколько я помню правил так.
В файле edit-vacation.php

Закомментировал

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

//$vacation_goto = preg_replace('/@/', '#', $fUsername);
//$vacation_goto = $vacation_goto . '@' . $vacation_domain;
Добавил после

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

$vacation_goto = $fUsername;
И еще закомментировал

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

//$goto= preg_replace ( "/$vacation_goto,/", '', $goto);
//$goto= preg_replace ( "/,$vacation_goto/", '', $goto);
//$goto= preg_replace ( "/$vacation_goto/", '', $goto);
Версия Postfix Admin 2.2.1.1

Grass_snake
рядовой
Сообщения: 28
Зарегистрирован: 2006-06-20 22:54:36

Re: postfixadmin 2.2

Непрочитанное сообщение Grass_snake » 2009-07-13 8:53:39

На сколько я помню правил так.
В файле edit-vacation.php
Спасибо. Всё отлично заработало как требуется.