Reputation: 1
I'm working with the win32com.client
module in Python to send emails via Outlook. I saw that the email
is instantiated as a CDispatch
object. However, I encounter an LDAP error when calling the Send()
method.
I receive the following error message in console:
(-2147352567, 'Ausnahmefehler aufgetreten.', (4096, 'Microsoft Outlook', 'Outlook kennt mindestens einen Namen nicht.', None, 0, -2147467259), None)
Additionally, a pop-up message from Microsoft Outlook appears:
Microsoft LDAP-Verzeichnis Die Anzahl der vom LDAP-Verzeichnisserver für diesen Suchvorgang gefundenen Einträge überschreitet das von Ihnen vorgegebene Limit.
Translated: "The number of entries found by the LDAP directory server for this search exceeds the limit you set."
Here’s a simplified version of the Python code I’m using:
import win32com.client
from win32com.client import CDispatch
def setup_mailbox(shared_mailbox_display_name: str):
outlook = client.Dispatch("Outlook.Application")
mailbox_kaffee = None
namespace = outlook.GetNamespace("MAPI")
stores = namespace.Stores
for store in stores:
print(store.DisplayName)
if store.DisplayName == shared_mailbox_display_name:
mailbox_kaffee = store
break
if mailbox_kaffee is None:
raise Exception(f"Shared mailbox '{shared_mailbox_display_name}' not found.")
return mailbox_kaffee
def send_email(body: str,
_mailbox: CDispatch,
receiver: str,
display_name: str):
mail_folder = mailbox.GetDefaultFolder(6) # 6 is for email folder
email = mail_folder.Items.Add(0) # Add an email item
email.Subject = "Test Email"
email.HTMLBody = body
email.SentOnBehalfOfName = display_name
email.Recipients.Add(receiver)
email.Save()
email.Send() # Error occurs here
# Simplified call to the function
mailbox_display_name = "test"
mailbox = setup_mailbox(mailbox_display_name)
send_email("<html><body>Hello</body></html>", mailbox, "[email protected]", "Sender Display Name")
pywin32
version 306How can I resolve this error or prevent Outlook from performing an LDAP query that exceeds the result limit when sending an email via Python? or maybe I can fix it by setting up something in outlook manually?
Any advice or suggestions would be greatly appreciated!
Upvotes: 0
Views: 33
Reputation: 1
It is solved. The problem was simple. Some email addresses are not valid, which causes the problem. Adding a validation of email address has solved the problem.
Upvotes: 0