2025-03-16 21:24:17 +00:00
2025-03-16 21:24:17 +00:00
2018-03-14 16:24:47 -04:00
2018-11-12 11:10:02 -05:00
2025-03-16 21:02:32 +00:00
2025-03-16 21:20:37 +00:00
2025-03-16 21:01:14 +00:00

View, export and convert .MSG email files without Outlook

  • tested on python 3.12.3
  • the source project is fork of JoshData MSG convertor
  • the console option to export to .eml is for now commented out for a time.
  • it also using TeamMsgExtractor to view content of .msg

Install

Install the dependencies with:

pip install -r requirements.txt

MSG-EML-Convertor.py use:

import msg-eml-convertor
# to export one message:
msg_file="emails/test1.msg" # only msg_file is required.
dest_folder = "../msg-viewer/tests" # this is just file path (no file name)
dest_file = "aaaatest.eml" # this can be just name or with path

print(convert_msg_to_eml(msg_file, dest_folder, dest_file))
# This returns string - new file location and 1 for success.
# if it fails it returns string with error and 0 for fail

# to export all msgs in folder:
src_folder="tests" # this is where to look for .msg, including subfolders
# if dst_folder missing, then it creates folder in src_folder/exported_msgs and saves it all there
dst_folder # if provided will serve as export location ( is created if not exists)

print(convert_all_msg_in_folder(src_folder, dst_folder=None))
# sample output when failed:
(0, [], {'ERR': 'No MSG files found in: /home/user/Projects/msg-viewer/testsSSS'})
# sample output when success:
(1, ['/home/user/Projects/msg-viewer/emails/The latest highlights.msg', '/home/user/Projects/msg-viewer/emails/test1.msg'], {})

Original MSG convertor use:

To use it in your application

import outlookmsgfile
eml = outlookmsgfile.load('my_email_sample.msg')

The load() function returns an EmailMessage instance.

Description
This project is to create Graphical user interface to view, convert and export .msg emails without using Outlook
Readme MIT 88 KiB
Languages
Python 100%