Вопрос по функции imap_createmailbox

chelovek

Новичок
Вопрос по функции imap_createmailbox

У меня стоит почтовый сервер MDaemon. В нем я создал почтовый ящик, например Admin. Потом с помощью скрипта из мануала по imap_createmailbox создал еще один ящик, например, user1, но, он создался не на том же уровне каталогов, что и Admin, а в папке Admin создалась папка INBOX.user1.IMAP.
Т.е. вродибы получилась просто папка в почтовом ящике Admin@localhost, подобная папке INBOX.
Мож я чего не понимаю??? Объясните пожалуйста.
Кстати, вот так я создаю ящик:

PHP:
<?php
$mbox = imap_open("{localhost}", "Admin", "password", OP_HALFOPEN) or die("can't connect: " . imap_last_error());
$newname = "user1";

echo "Newname will be '$newname'<br />\n";

if (imap_createmailbox($mbox, imap_utf7_encode("{localhost}INBOX.$newname"))) {
    $status = imap_status($mbox, "{localhost}INBOX.$newname", SA_ALL);
    if ($status) {
        echo "your new mailbox '$name1' has the following status:<br />\n";
        echo "Messages:   " . $status->messages    . "<br />\n";
        echo "Recent:     " . $status->recent      . "<br />\n";
        echo "Unseen:     " . $status->unseen      . "<br />\n";
        echo "UIDnext:    " . $status->uidnext     . "<br />\n";
        echo "UIDvalidity:" . $status->uidvalidity . "<br />\n";

    } else {
        echo "imap_status on new mailbox failed: " . imap_last_error() . "<br />\n";
    }
   
} else {
    echo "could not create new mailbox: " . implode("<br />\n", imap_errors()) . "<br />\n";
}

imap_close($mbox);
?>
Заранее благодарю.
 

Гравицапа

elbirret elcno
chelovek
1. Прочитай спецификацию IMAP и обрати особое внимание на нейспейсы
2. Почитай документацию к MDaemon, на предмет того, как он соответствует спецификации
3. Тут ты должен будешь понять, что с помощью imap_createmailbox() будет сложно создавать нормально мейлбоксы :)
4. С помощью imap_*() неймспейс сервера ты не узнаешь
5. Да, придётся через сокеты
 

chelovek

Новичок
Я только начал с этим делом разбираться, а надо сделать побыстрее...
Гравицапа, во-первых, скажи пожалуйста, что такое "нейспейсы",
во-вторых где-нить есть пример того, как их создавать с помощью сокетов,
и в третьих, возможно в дальнейшем будет использоваться другой почтовый сервер - много ли придется переделывать?
 

Гравицапа

elbirret elcno
chelovek
Гравицапа, во-первых, скажи пожалуйста, что такое "нейспейсы",
1. Прочитай спецификацию IMAP и обрати особое внимание на нейспейсы
Она не такая и большая, всё равно пригодится :)
во-вторых где-нить есть пример того, как их создавать с помощью сокетов,
Ну так посмотри как реализовано в каком-нить почтовике готовом типа Horde IMP
и в третьих, возможно в дальнейшем будет использоваться другой почтовый сервер - много ли придется переделывать?
Если нормально сделаешь, то нет.
 

chelovek

Новичок
Почитал... Разобрался как работать с почтовым серваком через сокеты (например удалять письма), но вот как создать новый аккаунт не пойму. Поискал по совету Гравицапы пример из готового почтовика (Horde IMP) Но везде только словестное описание....
Подскажите пожалуйста, как мне создать аккаунт...
 

Гравицапа

elbirret elcno
chelovek
Что ты подразумеваешь под словом "аккаунт"?
Поискал по совету Гравицапы пример из готового почтовика (Horde IMP) Но везде только словестное описание....
Хмм, вообще я имел в виду, посмотреть исходный код. На то он и open source.
 

chelovek

Новичок
Что ты подразумеваешь под словом "аккаунт"?
Я имею ввиду почтовый ящик нового пользователя, например, user1@localhost.
Кстати, в принципе, даже можно не зацикливаться на MDaemon, а использовать любой другой почтовик... Мож так у кого примерчик найдется...
 

Гравицапа

elbirret elcno
Я имею ввиду почтовый ящик нового пользователя, например, user1@localhost.
Для создания нового почтового ящика обычно пользуются контрольными хостинг панелями или напрямую из консоли.
imap_*() функции не для этого.

Зачем тебе это понадобилось?
 

chelovek

Новичок
Зачем тебе это понадобилось?
Ну во-первых, самому интересно, во-вторых какой-никакой, а опыт, а в-третьих один хороший человек попросил помочь...

Про все эти консоли, панели, которые, на сколько я знаю, присылают админы твоего хоста я знаю, я хочу ручками.... Но чет вообче застрял.... Куда ни глянь - все новое и непонятное.... Если бы время не поджимало, я б и сам разобрался, но его как всегда нет...
 

litvinenko

Новичок
сорри за офтоп
мне почему-то фразы типа "я б и сам разобрался, но времени как всегда нет... " вызывают удивление и умиление.
Такое впечатление, что его действительно нет. Время на нужные дела есть всегда. А фраза эта пишется когда или лень делать что-то или это делать просто не надо.
Я так уверенно говорю, потомучто сам когда-то так писал :) Больше не пишу. :)
 

chelovek

Новичок
мне почему-то фразы типа "я б и сам разобрался, но времени как всегда нет... " вызывают удивление и умиление.
Да, согласен, но в данном случае я так написал, потому, что в данный момент это не самое важное дело... И потом, если бы на это требовалось пара дней - вопросов бы небыло... А когда только начинаешь влезать в эти дебри, на это требуется достаточно много времени...
 

qwelp

Новичок
chelovek
Чтобы создавать ящик тебе нужно:
1. Твой сервер+ip+domen. (может быть дома поднят. например виртуальной машине(virtual-pc и.т.д). Стандартный хостинг не подойдет(они не дают доступа к почтовым пользователям напрямую. только из собственной панели) или воспользоваться хостом - ВИРТУАЛЬНЫЙ ВЫДЕЛЕННЫЙ СЕРВЕР VPS, VDS. он есть на masterhost. хотя уже много провайдеров его предоставляют и их специалисты все ПО установят и настроят как тебе нужно).
2. Linux или freebsd (много хороших почтовых серверов распространяющихся бесплатно. На винде хорошего, массового, бесплатного (больше чем три бесплатных подключения) почтовика я не нашел).
3. Почтовый сервер советую exim (он хранит пользователей в БД mysql. и чтобы создать пользователя нужно просто занести данные в БД простым запросом insert)
 
Сверху