Toggle Menu
Prev Up Next

# `langchain_community.document_loaders.email`.UnstructuredEmailLoader

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

  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_community.document_loaders import UnstructuredEmailLoader

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

  Example

  from langchain_community.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.
  `alazy_load`() | A lazy loader for Documents.
  `aload`() | Load data into Document objects.
  `lazy_load`() | Load file.
  `load`() | Load data into Document objects.
  `load_and_split`([text_splitter]) | Load Documents and split into chunks.

  Parameters

    - file_path (Union[str, Path]) –

    - mode (str) –

    - unstructured_kwargs (Any) –

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

    Initialize with file path.

    Parameters

      - file_path (Union[str, Path]) –

      - mode (str) –

      - unstructured_kwargs (Any) –

  async alazy_load() → AsyncIterator[Document]

    A lazy loader for Documents.

    Return type

      AsyncIterator[Document]

  async aload() → List[Document]

    Load data into Document objects.

    Return type

      List[Document]

  lazy_load() → Iterator[Document]

    Load file.

    Return type

      Iterator[Document]

  load() → List[Document]

    Load data into Document objects.

    Return type

      List[Document]

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

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

    Do not override this method. It should be considered to be deprecated!

    Parameters

      text_splitter (Optional[TextSplitter]) – TextSplitter instance to use for splitting documents. Defaults to RecursiveCharacterTextSplitter.

    Returns

      List of Documents.

    Return type

      List[Document]

# Examples using UnstructuredEmailLoader

- Unstructured

- email.md