Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Люди помогите! как мне создать почтовый ящик


Автор: ENTiTY 30.7.2003, 13:42
Я уже все что можно облазил. Не могу создать програмно(С++) почтовый ящик! Аккаунт создаю с помощью ADSI COM, а вот почтовый ящик с помощью CDOEX и CDOEXM создать не могу! Уже все перепробовал! Не получается!

Как я понял из MSDN, сначала надо получить доступ к "CoClass Person" (CLSID_Person), и оттуда из интерфейса IPerson получить, с помощью QueryInterface указатель на IMailboxStore. А подрубиться к конкретному аккаунту надо с помощью IDataSource::Open().

Делаю так:


CDO::IDataSource* pSrc = NULL;
CDO::IPerson* pPerson = NULL;
CDOEXM::IMailboxStore* pMBStore = NULL;
hr = CoCreateInstance(CDO::CLSID_Person,NULL,
CLSCTX_INPROC_SERVER,
CDO::IID_IPerson,
reinterpret_cast<void**>(&pPerson));
if(FAILED(hr))
{
::CoUninitialize();
return hr;
}
hr = pPerson->QueryInterface(CDO::IID_IDataSource, reinterpret_cast<void**>(&pSrc));
if(FAILED(hr))
{
pPerson->Release();
::CoUninitialize();
return hr;
}
hr = pSrc->Open(bstr_t("LDAP://server.subdomain.domain.ru/CN=User,OU=MyUsers,DC=subdomain,DC=domain,DC=ru"),
NULL,
adModeShareDenyNone,
adFailIfNotExists,
adOpenSource,
bstr_t("user"),
bstr_t("password"));
hr = pPerson->QueryInterface(IID_IMailboxStore, reinterpret_cast<void**>(&pMBStore));

если вызывать pSrc->Open, то pPerson->QueryInterface(IID_IMailboxStore, reinterpret_cast<void**>(&pMBStore)) - дает ошибку 0xc0070005, что соответствует http://support.microsoft.com/default.aspx?scid=kb;en-us;309750, как я понял.
если не вызывать pSrc->Open, то интерфейс IMailboxStore можно получить.

В чем дело? Может я не так все это делаю и можно как-то проще создать на C++ почтовый ящик?

Может какой-нть пример подскажете, а то не могу найти по поисковым системам, только для VB есть sad.gif

Автор: ENTiTY 30.7.2003, 16:48
Господа, хоть подскажите какие-нть ещё форумы (можно на английском) где можно спросить.

Автор: RAN 31.7.2003, 08:17
Честно говоря, никогда этим не занимался и чуствую- не только я. Но могу предложить попробовать разобраться вместе, тема-то интересная в принципе.
Цитата
Как я понял из MSDN, сначала надо получить доступ к "CoClass Person" (CLSID_Person), и оттуда из интерфейса IPerson получить, с помощью QueryInterface указатель на IMailboxStore. А подрубиться к конкретному аккаунту надо с помощью IDataSource::Open().

Дай эту ссылку, я найти не могу. И ещё не понятно, зачем тебе интерефейс IPerson, QueryInterface ведь должен поддерживаться всеми интерфейсами. Если это не так, то Microsoft собственные правила нарушают.

Автор: Ziga 31.7.2003, 15:10
ja chasto polzujusj www.deja.com tam vodish newsgroup microsoft.public ilji borland.public. i ischesh.

Автор: Гость_MiF 15.3.2005, 15:44
Рябята, я сейчас тоже этим занимаюсь, но на Делфи.
Тоже не могу получить доступ к интерфейсу.

Автор: hanter 25.4.2005, 08:43
Подскажите как отправить фото на мыло
[email protected] smile

Автор: Guest 25.4.2005, 08:46
gumjgjm

Автор: jorkug 25.4.2005, 15:38
Цитата(ENTiTY @ 30.7.2003, 16:48)
Господа, хоть подскажите какие-нть ещё форумы (можно на английском) где можно спросить.

http://www.sources.ru

Автор: NEGODYAI 31.10.2005, 15:31
всм спасибо за советы
smile

Автор: sevstudium 7.2.2011, 11:23
Модератор: Сообщение скрыто.

Автор: миг 7.2.2011, 19:17
В книжке Всеволод Несвижский "Программирование аппаратных средств в windows" в главе 22 Почта и сеть. Рассматриваются вопросы  отправки и получения почтовых сообщений.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)