Как postfixadmin/postfix создает ящики?
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Как postfixadmin/postfix создает ящики?
сабж...
есть postfix+mysql
где та функция? что-то не понял, он письмо просто отпарвляет чтоли? как это на perl скрипте написать?
есть postfix+mysql
где та функция? что-то не понял, он письмо просто отпарвляет чтоли? как это на perl скрипте написать?
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
-
- лейтенант
- Сообщения: 755
- Зарегистрирован: 2005-11-06 18:25:26
- Контактная информация:
Re: Как postfixadmin/postfix создает ящики?
Посмотреть в исходниках религия не позволяет?
Код: Выделить всё
smtp_mail ($fTo, $fFrom, $fHeaders);
function smtp_mail ($to, $from, $data)
{
global $CONF;
$smtpd_server = $CONF['smtp_server'];
$smtpd_port = $CONF['smtp_port'];
$smtp_server = $_SERVER["SERVER_NAME"];
$errno = "0";
$errstr = "0";
$timeout = "30";
$fh = @fsockopen ($smtpd_server, $smtpd_port, $errno, $errstr, $timeout);
if (!$fh)
{
return false;
}
else
{
fputs ($fh, "EHLO $smtp_server\r\n");
$res = smtp_get_response($fh);
fputs ($fh, "MAIL FROM:<$from>\r\n");
$res = smtp_get_response($fh);
fputs ($fh, "RCPT TO:<$to>\r\n");
$res = smtp_get_response($fh);
fputs ($fh, "DATA\r\n");
$res = smtp_get_response($fh);
fputs ($fh, "$data\r\n.\r\n");
$res = smtp_get_response($fh);
fputs ($fh, "QUIT\r\n");
$res = smtp_get_response($fh);
fclose ($fh);
}
return true;
}
смотри как работать с сокетом на perlкак это на perl скрипте написать?
-
- лейтенант
- Сообщения: 755
- Зарегистрирован: 2005-11-06 18:25:26
- Контактная информация:
Re: Как postfixadmin/postfix создает ящики?
З.Ы.
нашел еще один баг. Отправка письма идет от пользователя, который создает ящик

нашел еще один баг. Отправка письма идет от пользователя, который создает ящик
и на этот параметр кладется большой болт// Site Admin
// Define the Site Admins email address below.
// This will be used to send emails from to create mailboxes.
$CONF['admin_email'] = 'postmaster@change-this-to-your.domain.tld';

- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Как postfixadmin/postfix создает ящики?
Ящик создает POP3/IMAP сервер при получении первого письма для нового юзера (если речь идет о использовании стороннего транспорта-сортировщика из Dovecot/Courier/etc, а не того что в postfix).
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Как postfixadmin/postfix создает ящики?
Код: Выделить всё
#!/usr/bin/perl
use IO::Socket;
my $socket = IO::Socket::INET->new ("localhost:25");
defined $socket or die "ERROR: $!";
$socket->print ("EHLO1512");
$r = <$socket>;
$socket->print ("MAIL FROM:<admin\@x.org.ua>1512");
$r = <$socket>;
$socket->print ("RCPT TO:<xxxxxx\@x.org.ua>1512");
$r = <$socket>;
$socket->print ("DATA1512");
$r = <$socket>;
$socket->print ("From:John Doe<admin\@x.org.ua>\n
To:Frank Smith<xxxxxx\@x.org.ua>\n
Subject:Test. \n\n
It's just test!!!1512");
$r = <$socket>;
$socket->print ("\.1512");
$r = <$socket>;
$socket->print ("QUIT1512");
$r = <$socket>;
а что нужно постфиксу письмо первое принять наверное которое есть в таблице...?
Последний раз редактировалось ProFTP 2008-11-07 16:02:19, всего редактировалось 2 раза.
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Как postfixadmin/postfix создает ящики?
только из сокета наверное...terminus писал(а):Ящик создает POP3/IMAP сервер при получении первого письма для нового юзера (если речь идет о использовании стороннего транспорта-сортировщика из Dovecot/Courier/etc, а не того что в postfix).
(письмо отправил, письмо точно ушло - он не создал)
то есть письмо не отсылается вообще из сокетов...
-
- лейтенант
- Сообщения: 755
- Зарегистрирован: 2005-11-06 18:25:26
- Контактная информация:
Re: Как postfixadmin/postfix создает ящики?
что в логах?письмо отправил, письмо точно ушло - он не создал
неправильно, ящик создает MTA(MDA), но никак не pop3/imap сервер.Ящик создает POP3/IMAP сервер при получении первого письма для нового юзера
перед тем как отправлять что либо, надо дождаться ответа сервера$socket->print ("EHLO1512");
$r = <$socket>;

- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Как postfixadmin/postfix создает ящики?
Alex_hha писал(а):письмо отправил, письмо точно ушло - он не создал
что в логах?
Код: Выделить всё
connect from localhost[127.0.0.1]
timeout after CONNECT from localhost[127.0.0.1]
надо будет где-то посмотреть еще...
-
- лейтенант
- Сообщения: 755
- Зарегистрирован: 2005-11-06 18:25:26
- Контактная информация:
Re: Как postfixadmin/postfix создает ящики?
Мдяя, печально. Никто не хочет думать:(
Самый простой вариант
Самый простой вариант
Код: Выделить всё
#!/usr/bin/perl
use IO::Socket;
my $socket = IO::Socket::INET->new (PeerAddr => 'localhost:smtp(25)') or die "ERROR: $!";
sysread $socket, $answer_data,255;
print "1: $answer_data";
syswrite $socket, "helo localhost\r\n";
sysread $socket, $answer_data,255;
print "2: $answer_data";
syswrite $socket, "mail from:<>\r\n";
sysread $socket, $answer_data,255;
print "3: $answer_data";
syswrite $socket, "rcpt to:<alex\@mail.ru>\r\n";
sysread $socket, $answer_data,255;
print "4: $answer_data";
syswrite $socket, "data\r\n";
sysread $socket, $answer_data,255;
print "5: $answer_data";
syswrite $socket, "Welcome to your new account\r\n";
syswrite $socket, ".\r\n";
sysread $socket, $answer_data,255;
print "6: $answer_data";
syswrite $socket, "quit\r\n";
sysread $socket, $answer_data,255;
print "7: $answer_data";
close $socket;
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Как postfixadmin/postfix создает ящики?
Ну да - просто я не знал как правильно обозвать тот же LDA из Dovecot...Alex_hha писал(а):неправильно, ящик создает MTA(MDA), но никак не pop3/imap сервер.Ящик создает POP3/IMAP сервер при получении первого письма для нового юзера
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- лейтенант
- Сообщения: 755
- Зарегистрирован: 2005-11-06 18:25:26
- Контактная информация:
Re: Как postfixadmin/postfix создает ящики?
Dovecot LDA - исключение из правилНу да - просто я не знал как правильно обозвать тот же LDA из Dovecot...
