postfixadmin скрипт создания ящика
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
postfixadmin скрипт создания ящика
Подскажите пожалуйста понять как в postfixadmin создается ящик юзера, какой скрипт за это ответственен? никак не понять, не могу найти стандартную функцию mail...
Услуги хостинговой компании 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/
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: postfixadmin скрипт создания ящика
зачем вам это надо?
вроде бы вставить в таблицу mailbox и таблицу alias
и отправить письмо на этот адресс, чтобы Courier/Dovecot создал ящик
вроде бы вставить в таблицу mailbox и таблицу alias
и отправить письмо на этот адресс, чтобы Courier/Dovecot создал ящик
Код: Выделить всё
sub insert_mailbox {
my $self = shift;
my ( $pwc, $maildir, $salt );
my @smtp_out = ();
my $fount;
foreach my $value ( values( %{ $self->{he} } ) ) {
if ( $value == 1 ) { $fount = 1; last; }
}
if ( !$fount ) {
if ( $self->{se}->{type_passwd} eq 'md5crypt' ) {
$self->{p}->{fPassword} =
$func->md5crypt( $self->{p}->{fPassword} );
}
$self->{p}->{email_smtp} =
$self->{p}->{fUsername} . '@' . $self->{p}->{fDomain};
my $sth = $self->{dbh}->prepare( '
INSERT INTO mailbox (username,
password,
name,
maildir,
quota,
domain,
created,
modified,
active)
VALUES (?,?,?,?,?,?,NOW(),NOW(),?)
' );
$sth->execute(
$self->{p}->{email_smtp}, $self->{p}->{fPassword},
$self->{p}->{fName}, $self->{p}->{maildir},
$self->{p}->{fQuota}, $self->{p}->{fDomain},
$self->{p}->{fActive}
);
$sth->finish();
my $sth = $self->{dbh}->prepare(
'INSERT INTO alias (address,
goto,
domain,
created,
modified,
active)
VALUES (?,?,?,NOW(),NOW(),?)
'
);
$sth->execute(
$self->{p}->{email_smtp}, $self->{p}->{email_smtp},
$self->{p}->{fDomain}, $self->{p}->{fActive}
);
$sth->finish();
if ( $self->{p}->{fMail} eq 'on' ) {
$self->SUPER::sent_email(@_);
}
$self->{he}->{mailbox_added} = 1;
$self->{he}->{EMAIL_ADD} = $self->{p}->{email_smtp};
}
return $self;
}
Код: Выделить всё
sub sent_email {
my $self = shift;
my @smtp_out = ();
use IO::Socket;
my $socket = IO::Socket::INET->new( PeerAddr => 'localhost:smtp(25)' )
or die "ERROR: $!";
my $answer_data;
sysread $socket, $answer_data, 255;
$smtp_out[0] = "1: $answer_data";
syswrite $socket, "helo $self->{'se'}->{'smtp_server'}\r\n";
sysread $socket, $answer_data, 255;
$smtp_out[1] = "2: $answer_data";
syswrite $socket, "mail from:<$self->{'se'}->{'mail_from'}>\r\n";
sysread $socket, $answer_data, 255;
$smtp_out[2] = "3: $answer_data";
syswrite $socket, "rcpt to:<$self->{'p'}->{'email_smtp'}>\r\n";
sysread $socket, $answer_data, 255;
$smtp_out[3] = "4: $answer_data";
syswrite $socket, "data\r\n";
sysread $socket, $answer_data, 255;
$smtp_out[4] = "5: $answer_data";
syswrite $socket, "$self->{'se'}->{'text_new_mailbox'}\r\n";
syswrite $socket, ".\r\n";
sysread $socket, $answer_data, 255;
$smtp_out[5] = "6: $answer_data";
syswrite $socket, "quit\r\n";
sysread $socket, $answer_data, 255;
$smtp_out[7] = "7: $answer_data";
close $socket;
@smtp_out = map +{ answer => $_ }, @smtp_out;
$self->{he}->{SOCKET} = \@smtp_out;
return $self;
}
-
- проходил мимо
Re: postfixadmin скрипт создания ящика
ящик создает postfix, а не pop3/imap сервер.
Просто нужен скрипт создания ящика, в инете нашел с использованием функции mail или типа такого
http://prootime.ru/php-send-email.html. Но это коряво.
Сказали смотреть как сделано в postfixadmin'е. Вот ищу и не могу найти это злополучный скрипт...
Просто нужен скрипт создания ящика, в инете нашел с использованием функции mail или типа такого
http://prootime.ru/php-send-email.html. Но это коряво.
Сказали смотреть как сделано в postfixadmin'е. Вот ищу и не могу найти это злополучный скрипт...
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: postfixadmin скрипт создания ящика
Гость писал(а):ящик создает postfix, а не pop3/imap сервер.
Просто нужен скрипт создания ящика, в инете нашел с использованием функции mail или типа такого
http://prootime.ru/php-send-email.html. Но это коряво.
Сказали смотреть как сделано в postfixadmin'е. Вот ищу и не могу найти это злополучный скрипт...
ящик создает сортировшик когда на него приходит первое письмо. если как сортировщик используется LDA из Dovecot, то создает он. Если сортировкой занимается сам постфикс, то он (я такую схему не реализовавал).
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: postfixadmin скрипт создания ящика
в потсфиксадминке, файлик функшионс.пхп там функция отправки писем...Гость писал(а):ящик создает postfix, а не pop3/imap сервер.
Просто нужен скрипт создания ящика, в инете нашел с использованием функции mail или типа такого
http://prootime.ru/php-send-email.html. Но это коряво.
Сказали смотреть как сделано в postfixadmin'е. Вот ищу и не могу найти это злополучный скрипт...