Отсутствующие классы автоматизации Lotus Notes

Я пытаюсь создать электронную почту Lotus Notes из Python, я начал с чего-то простого и не могу подключиться к клиенту Lotus Notes.

from win32com.client import Dispatch
import smtplib

session = Dispatch("Lotus.Notessession")

Это генерирует эту ошибку

pywintypes.com_error: (-2147221164, 'Clase no registrada', None, None)

я пробовал это

from win32com.client import makepy
makepy.GenerateFromTypeLibSpec('Lotus Domino Objects')
makepy.GenerateFromTypeLibSpec('Lotus Notes Automation Classes')

С этим результатом

Could not locate a type library matching 'Lotus Notes Automation Classes'
[Finished in 2.0s] 

Однако из VBA я могу без проблем получать доступ и создавать электронные письма ... Может ли кто-нибудь мне помочь? СПАСИБО

Моя конфигурация:

WINDOWS 10
Python 3.7.4
Lotus Notes 9.0.1FP10 SHF252

С уважением

Хоссе


person Josse    schedule 13.08.2019    source источник


Ответы (1)


Программное обеспечение Notes является 32-разрядным. Является ли ваша среда Python 64-битной? Если это так, то классы Lotus, вероятно, не зарегистрированы для 64-разрядной версии. См. мой ответ на этот старый вопрос.

Кроме того, существует разница между объектами Lotus Domino и классами автоматизации Lotus Notes. Первые являются COM-классами, доступ к ним осуществляется через Lotus.NotesSession, и их можно заставить работать на 64-разрядных (в основном), если они должным образом зарегистрированы, но не поддерживается в 64-разрядной версии. Последние являются классами OLE и доступны через Notes.NotesSession, и я не думаю, что их можно заставить работать на 64-разрядной версии (но я могу ошибаться), и они также не поддерживаются на 64-разрядной версии.

person Richard Schwartz    schedule 15.08.2019