This script facilitates the automated export of emails and attachments from Microsoft Outlook into a structured directory system on your Windows computer, leveraging the pywin32
library.
This Python script automates the process of exporting emails and attachments from Microsoft Outlook into organized directories on your Windows system. It utilizes the pywin32
library to interact with Outlook, managing emails efficiently by sorting, saving, and organizing them into directories named after their received timestamps. Non-mail items are handled appropriately, and errors are robustly managed.
-
Modules Used:
datetime
for handling date and time.pathlib
for file system path operations.re
for sanitizing filenames using regular expressions.win32com.client
for interacting with COM objects, specifically Microsoft Outlook.
-
Utility Functions:
create_directory(base_path, folder_name)
: Manages directory creation.save_attachments(attachments, folder_path)
: Saves email attachments to specified directories after cleaning filenames.
-
Email Processing:
- Accesses items in specified Outlook folders, sorting emails by "ReceivedTime".
- Processes each email, creating directories named by email timestamp, saving subject and body to text files, and saving attachments.
-
Execution and Error Handling:
- Script initializes Outlook application access, processes all folders within each email account, and logs any errors or skips.
-
Output:
- Organizes emails in directories based on timestamps, includes both text files for email content and original formats for attachments.
-
Operating System Requirement: Designed specifically for Windows OS due to the dependence on
pywin32
and Outlook. -
Python Installation:
- Download Python:
- Go to the Python Releases for Windows page on Python's official website.
- Click on "Download Windows installer".
- Install Python:
- Run the downloaded installer.
- Make sure to check "Add Python 3.x to PATH" at the bottom of the installation window to automatically add Python to your environment variables.
- Click "Install Now".
- Download Python:
-
Adding Python and pip to PATH Manually: If you didn’t add Python to your PATH during the installation, you can add it manually:
- Open the Start Search, type
env
, and select "Edit the system environment variables" or "Edit environment variables for your account". - Under System Properties, click on the "Environment Variables…" button.
- Find the 'Path' variable in the "System variables" section and click "Edit…".
- Add Python path:
- Click "New" and add the path to the folder where Python is installed, e.g.,
C:\Users\<Username>\AppData\Local\Programs\Python\Python39
. - Add another new line for the
Scripts
directory, e.g.,C:\Users\<Username>\AppData\Local\Programs\Python\Python39\Scripts
.
- Click "New" and add the path to the folder where Python is installed, e.g.,
- Click OK on all dialogs to close them.
- Open the Start Search, type
-
Install
pywin32
:pip install pywin32
-
Running the Script:
- Ensure Microsoft Outlook is installed and configured with your email account.
- Run the script with administrative privileges to enable necessary permissions for accessing Outlook and performing file operations.
This setup ensures that the script can be run efficiently on any compatible Windows machine, providing a robust tool for exporting and archiving email data from Microsoft Outlook.