108

Someone sent me a .msg file on Skype, and somehow I just can't open this in Ubuntu.

Is there any app in which I could open the .msg file?

1
  • This could be many things...what type is this file? There are several different programs using the msg extension.
    – Bobby
    Jan 22, 2010 at 13:11

9 Answers 9

125

This is an MS-Outlook format. There is a command line tool called MSGConvert (see www.matijs.net/software/msgconv) which converts .msg files into .eml. You can open those with Thunderbird or Evolution. On Ubuntu you should be able to install the tool using

sudo apt-get install libemail-outlook-message-perl libemail-sender-perl

from a command line. Use

msgconvert *.msg

to convert every file in a directory at once. MSGConvert will produce copies of your .msg-files with the suffix .msg.eml. Regardless, your friend should learn how to send content properly.

11
  • 7
    Somehow msgconvert didn't appear in the path, but the following worked: perl -we 'use Email::Outlook::Message; print Email::Outlook::Message->new(shift)->to_email_mime->as_string' foo.msg >bar.eml
    – Dallaylaen
    Jan 28, 2016 at 17:54
  • 1
    Using the msgconvert tool from github.com/mvz/email-outlook-message-perl, the command line ./msgconvert file.msg produces nothing. You have to use ./msgconvert --outfile file.eml file.msg.
    – slowhand
    May 27, 2016 at 15:53
  • 9
    If you already did apt-get install libemail-outlook-message-perl, you don't need to do anything more. That package already contains /usr/bin/msgconvert, at least on Debian 8 Jessie. Jan 4, 2017 at 14:18
  • 1
    +1 for rational note at the end
    – Kostrahb
    Mar 24, 2021 at 22:21
  • 1
    Worked perfectly on Ubuntu 22.04. I wonder what is in .msg files. My .msg file is 150 KB, whereas the converted .eml file is only 34 KB. Furthermore, the smaller .eml file is plain text with an embedded ASCII HEX binary, whereas the .msg file is pure binary. Usually, binary files are more efficient than ASCII text files, not less. Sep 12, 2023 at 0:28
53

Use Microsoft one drive to open .msg files online via browser:

Sign in to your Microsoft onedrive account and upload the .msg file. After upload, you can click on it to view the file contents.

The advantage over other answers is you won't be sharing your file with third party file converters.

Note: This method is Non-OS specific and can be applied in any OS.

9
  • I wish I could edit the message also.
    – Jaakko
    Oct 2, 2019 at 12:44
  • @Jaakko .msg files are email conversation thread. I coundn't find any sense of editing it. I think you can copy text content for forwarding mail purposes Oct 2, 2019 at 16:38
  • 1
    despite that fact this is not a solution for the problem, in some particular cases your suggestion works very good!
    – radistao
    Feb 14, 2020 at 12:39
  • @radistao thanks for the compliment. I say you don't have to convert the file to open .msg you just need to use Microsoft tools. for ubuntu, it's only in web and an electron version i.e nothing but the web. & yeah it definietly solves the problem of viewing .msg and therefore it can be treated as solution :P Feb 15, 2020 at 6:05
  • 1
    After opening a .msg file on the OneDrive (using current Google Chrome) I can read the message body but I don't see a way to open attachments contained in the message and listed on the Attachments line.
    – rpr
    May 28, 2020 at 11:32
17

It's not perfect but you can import .msg file with Mozilla Thunderbird (it works with on 52.1.1 on my Linux Mint). I had some encoding error but you can globally read the content.

In Thunderbird you click on File > Open > Saved message and select your .msg file.

5
  • 4
    For my case, with this method, the file is totally unreadable. Mar 11, 2019 at 13:14
  • 1
    This kind of works. I can see a plain text message at the top with a lot of issues under it but I think it has got the text content of the email right.
    – Qwertie
    Apr 1, 2019 at 0:10
  • 1
    There is no encoding error it simply than the encoding of the Outlook file (*.msg) is ANSI. I have the following in my .bash_profile : function msgread() { msgconvert --outfile - "$1" | iconv -f ms-ansi -t utf-8 | less }
    – Stéphane
    Jan 24, 2020 at 15:12
  • Doesn't seem to work. Most likely cause: Windows uses UTF16, while Linux uses UTF8. Aug 16, 2021 at 10:46
  • 1
    Worked great for a couple of old Outlook messages I had failed to convert over. The messages were text only. Thanks! Mar 8, 2023 at 17:32
16

Another free and cross-platform tool for extracting the contents of an Outlook msg file from the command line is msg-extractor.

pip install extract-msg
extract_msg file.msg

Please note that while package name uses hyphen, command name uses underscore.

https://pypi.org/project/extract-msg/

2
  • This works but doesn't preserve the mail headers.
    – neuhaus
    May 26, 2021 at 10:45
  • Worked for me when I needed to extract an attachment out of a .msg file. Thanks :)
    – drgibbon
    May 26, 2023 at 12:57
7

I ran across such a file as well (provided to me by a colleague who saved an email message in Microsoft Outlook). file(1) identifies the .msg file like so:

foo.msg: Composite Document File V2 Document

Georg Jung's answer regarding Matijs van Zuijlen's perl-based msgconvert(1) utility steered me in the right direction. Although my system does not at the time of this writing have the msgconvert utility packaged, the install instructions on Matijs' web page indicate using cpan as one way to install it:

cpan -i Email::Outlook::Message

The cpan URL is http://search.cpan.org/dist/Email-Outlook-Message/

7

Try this link: https://www.coolutils.com/online/Mail-Converter/

I came to this post searching for an answer, found the above link which did the job for me. Hence wanted to share here.

If you are concerned about privacy, you can buy their desktop version and convert it.

5
  • 2
    @VirtualDXS - Life is harsh, isn't it ? :)
    – bragboy
    May 10, 2016 at 20:28
  • 7
    I also downvote this "solution", because it violates privacy. .msg files sometimes contain mail threads, which must be kept confidential.
    – slowhand
    May 27, 2016 at 15:29
  • 2
    I don't get where the tool violates privacy. It's just a wrong statement. It's the same saying Winrar violates privacy because sometimes .rar files contain files which may be confidential. Or an SQLite client violates privacy because you can read Skype conversations from .db file. Oct 4, 2017 at 18:45
  • 6
    @AndreFigueiredo: It’s the difference between an online tool and a local program.  When you process data with WinRAR or any other program on your computer, the data stay on your computer (unless it’s infected with spyware). But with this “coolutils” solution, you upload your file to their website and then download the result.  Do they immediately delete your data off their servers?  Are their personnel allowed to look at your data?  Do they sell your data to other people? Once you give it to them, it’s out of your control. Nov 9, 2017 at 23:51
  • People should convert .msg files to smth like pdf before sending to not get poeple such problems opening. Most computers can open pdf without installing anything additionaly or sending to webservice like this.
    – Darius.V
    May 5, 2021 at 12:56
4

You can also proceed like this:

strings foo.msg |html2text
1
  • 1
    this is bad, because you do not get the pictures
    – David
    Apr 7, 2021 at 2:59
4

If you're on Windows, Mac, or another Linux than Ubuntu, or you don't want to install random packages on your system, I'd recommend building on Georg Jung's answer by using this docker container:

docker run -it --rm -v $(pwd):/mails --user $UID: lequoctuan/msgconvert my-file.msg

# takes a minute ...

cat my-file.eml
2
  • 2
    Isn't a docker container from someone just the same as a random package? Jan 6, 2021 at 11:43
  • 3
    kind of, but you gain at least some form of isolation through docker and most importantly don’t clutter your system with a bunch of perl packages.
    – cfstras
    Jan 7, 2021 at 12:10
4

I've had luck with the MsgViewer application in Ubuntu, but it requires Java to work. The other option is to use an online viewer/converter, such as MsgEml.com.

Not the answer you're looking for? Browse other questions tagged .