2025-03-16 21:20:37 +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](https://github.com/JoshData/convert-outlook-msg-file)
|
|
|
|
|
- the console option to export to .eml is for now commented out for a time.
|
|
|
|
|
- it also using [TeamMsgExtractor](https://github.com/TeamMsgExtractor/msg-extractor) to view content of .msg
|
|
|
|
|
|
|
|
|
|
# Install
|
2024-02-23 09:56:23 -05:00
|
|
|
|
2019-09-16 20:49:04 -03:00
|
|
|
Install the dependencies with:
|
2018-03-14 16:24:47 -04:00
|
|
|
|
2024-02-23 09:07:37 -05:00
|
|
|
pip install -r requirements.txt
|
|
|
|
|
|
2025-03-16 21:20:37 +00:00
|
|
|
## 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:
|
2019-09-16 20:49:04 -03:00
|
|
|
To use it in your application
|
|
|
|
|
|
|
|
|
|
import outlookmsgfile
|
|
|
|
|
eml = outlookmsgfile.load('my_email_sample.msg')
|
|
|
|
|
|
2025-03-16 21:20:37 +00:00
|
|
|
The ``load()`` function returns an [EmailMessage](https://docs.python.org/3/library/email.message.html#email.message.EmailMessage) instance.
|