Source code for pm4py.algo.connectors.util.mail

'''
    PM4Py – A Process Mining Library for Python
Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see this software project's root or
visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions
Contact: info@processintelligence.solutions
'''

from typing import Optional


[docs] def connect(email_user: Optional[str], mailbox_id: int): """ Returns a mailbox object from the local Outlook instance. Parameters ------------- email_user E-mail address to use mailbox_id ID of the mailbox to use: * 5 = outbox * 6 = inbox * 9 = calendar Returns ------------- mailbox_obj Mailbox object """ import pythoncom pythoncom.CoInitialize() import win32com.client outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace( "MAPI" ) mailbox_id = int(mailbox_id) if email_user is not None: recipient = outlook.CreateRecipient(email_user) recipient.Resolve() return outlook.GetSharedDefaultFolder(recipient, mailbox_id) return outlook.GetDefaultFolder(mailbox_id)