langchain.document_loaders.email.UnstructuredEmailLoader

class langchain.document_loaders.email.UnstructuredEmailLoader(file_path: str, mode: str = 'single', **unstructured_kwargs: Any)[source]

Load email files using Unstructured.

Works with both .eml and .msg files. You can process attachments in addition to the e-mail message itself by passing process_attachments=True into the constructor for the loader. By default, attachments will be processed with the unstructured partition function. If you already know the document types of the attachments, you can specify another partitioning function with the attachment partitioner kwarg.

Example

from langchain.document_loaders import UnstructuredEmailLoader

loader = UnstructuredEmailLoader(“example_data/fake-email.eml”, mode=”elements”) loader.load()

Example

from langchain.document_loaders import UnstructuredEmailLoader

loader = UnstructuredEmailLoader(

“example_data/fake-email-attachment.eml”, mode=”elements”, process_attachments=True,

) loader.load()

Initialize with file path.

Methods

__init__(file_path[, mode])

Initialize with file path.

lazy_load()

A lazy loader for Documents.

load()

Load file.

load_and_split([text_splitter])

Load Documents and split into chunks.

__init__(file_path: str, mode: str = 'single', **unstructured_kwargs: Any)[source]

Initialize with file path.

lazy_load() Iterator[Document]

A lazy loader for Documents.

load() List[Document]

Load file.

load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document]

Load Documents and split into chunks. Chunks are returned as Documents.

Parameters

text_splitter – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

Returns

List of Documents.

Examples using UnstructuredEmailLoader