2011-01-28 2 views
1

Мне нужно создать почтовый ящик на сервере Exchange 2003 с помощью python. Условия трюков состоят в том, что наши машины имеют офис Office 2007 и Office 2010, поэтому cdoexm.dll не установлен в системе. Также, как и в 2007/10, вы не можете установить ExchangeCdo, поскольку он требует определенных версий Outlook. Также mapi не включен на сервере.Создать почтовый ящик обмена с python

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

Надеюсь, у кого-то есть идеи!

ответ

0

ОК, поэтому в конце концов это была не проблема с python, но требовала CDOEXM. Сначала вам нужно перейти на панель управления-> добавить/удалить программы-> добавить/удалить компоненты Windows. Выберите «Информационные службы Интернета» (IIS) и нажмите «Сведения», отметьте оснастку «Информационные службы Интернета» и нажмите «ОК», затем «Далее» и установите (для этого вам понадобится xp sp3 cd).

После этого вам понадобится сервер обмена (в моем случае 2003) установить компакт-диск и вы хотите установить только компоненты управления. Когда это будет завершено, вы будете иметь dll CDOEXM, который затем сможете использовать в своих проектах.

Этот пример использует Tim Golden's awesome active directory module для Python.

import active_directory 

homeMDB = "CN=UBER MAILBOX,CN=InformationStore,CN=UBERMAILSERVER,"\ 
     "CN=Servers,CN=Administrative Groups,CN=UBERORG,"\ 
     "CN=Microsoft Exchange,CN=Services,CN=Configuration,"\ 
     "DC=uber,DC=org,DC=uk" 

user=active_directory.find_user("captain.awesomeface") 
user.CreateMailbox(homeMDB) 


user.Properties["mail"].Value = "[email protected]"; 

user.SetInfo()