Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Reading msg file

by shylaja (Initiate)
on Aug 27, 2014 at 04:43 UTC ( #1098700=perlquestion: print w/replies, xml ) Need Help??

shylaja has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I have a folder with msg files. How to read each msg file in that particular folder and get the body of the mail?

Replies are listed 'Best First'.
Re: Reading msg file
by 2teez (Vicar) on Aug 27, 2014 at 04:56 UTC

    Hi shylaja,
    Welcome to the Monastery.
    To read msg files from a particular folder, you need to open the folder see opendir, then open each msg file in the folder to read.
    Are the msg files just plain text files or not? You didn't say.
    You can also look at using glob.
    Please check How do I post a question effectively? to get the best help from around here.
    Once again welcome.

    If you tell me, I'll forget.
    If you show me, I'll remember.
    if you involve me, I'll understand.
    --- Author unknown to me

      Thanks for your reply 2teez. msg files are outlook files. It has only plain text in the body of the mail. I need to read the body of each msg file. The module Email::Outlook::Message can be used if I am trying to read mail in the outlook. But the mails will be saved in a folder and I need to retrieve the body of mails from the directory. open function will not open the msg files for reading the body of the mail.

        ..The module Email::Outlook::Message can be used if I am trying to read mail in the outlook. But the mails will be saved in a folder..
        Email::Outlook::Message, also parse mail when you are not reading from your Outlook mail directly. i.e with your mails saved in a folder on your local drive.
        E.g:

        #!/usr/bin/perl -Wl use strict; use Email::Outlook::Message; for my $filename ( glob("$ARGV[0]*") ) { ## tell the filename reading print 'Filename: ', $filename; my $msg = new Email::Outlook::Message $filename; my $mime = $msg->to_email_mime; print $mime->as_string; }
        NOTE: I didn't link the Email::Outlook::Message, I only outlined it here. Others in this thread had it linked already.
        And of course, your folder which contain these msg files must be the given from the CLI.

        If you tell me, I'll forget.
        If you show me, I'll remember.
        if you involve me, I'll understand.
        --- Author unknown to me
Re: Reading msg file
by Athanasius (Bishop) on Aug 27, 2014 at 07:15 UTC
Re: Reading msg file
by marto (Archbishop) on Aug 27, 2014 at 07:41 UTC

    By 'folder' do you mean directory or a folder within Microsoft Outlook? Super Search will find you many threads discussing this problem.

Re: Reading msg file
by Anonymous Monk on Aug 28, 2014 at 07:38 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1098700]
Approved by GrandFather
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2020-01-23 19:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?