Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exchange connector #974

Open
wants to merge 14 commits into
base: main
Choose a base branch
from
Open

Exchange connector #974

wants to merge 14 commits into from

Conversation

zekis
Copy link

@zekis zekis commented Jan 21, 2024

This PR adds a connector for Microsoft Exchange (or just the email component for Office 365) and is heavily inspired by the Sharepoint Connector.
It initially fetches the max(999) recently modified emails and allows indexing with web links that will open the references.
Specifically, it uses the Python O365 module to retrieve emails from an email account for an Azure tenant ordered by modified date then uses Beautifullsoup to remove the HTML Tags. New or modified emails are re-indexed. Emails with compatible attachments are also indexed. Supported file types are PDF, DOCX, XLSX, PPTX and TXT.

This connector supports multiple filters for either Categories, or Folder Paths and a Maximum Poll Size.
These filters prevent fetching every email from a mailbox and instead allow for creating rules externally to determine which emails should be indexed by Danswer. However the option to fetch all is available.

Security configuration requires Tennent ID, App ID and Secret and Account ID (Email Address)
To use this connector, you need to create an application in Azure and provide admin permissions for mail.read.
This connector does not support live/personal email accounts.

This is my first pull request and I did have a few issues following the contributing guide. Particularly the mypy type requirements.

Screenshots
image
image
image

Copy link

vercel bot commented Jan 21, 2024

Someone is attempting to deploy a commit to the Danswer Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant