in reply to Re^6: Reading msg file
in thread Reading msg file

my $body = 'this is a test email. It contains the word training in its + second sentence.'; if( $body =~ /training/ ) { print "The body contains the word 'training'\n"; };

Replies are listed 'Best First'.
Re^8: Reading msg file
by monkee (Initiate) on Oct 21, 2019 at 19:27 UTC

    What if emails are in a folder? The following code works if searching within folder with .txt files, but it does NOT work if searching for .msg files.

    use strict; use warnings; use Email::Outlook::Message; my @files = glob "C:/test_path/*"; foreach my $file (@files) { open (FILE, "$file"); while(my $line= <FILE> ){ print "$file" if $line =~ /training/; } close FILE; }

    Do I need the following 3 lines when working with .msg files, and where would I put these?

    my $msg = new Email::Outlook::Message $file; my $mime = $msg->to_email_mime; $mime->as_string;
      Essentially, how do I do a keyword search in a .msg file? It is not working the same way as with .txt files.

      Do I need to search $mime after the line $mime->as_string?

      Is there another package that I should be using instead of / in addition to Email::Outlook::Message?

      I really appreciate the help, as I am brand new to PERL and this assignment is the sole reason I'm trying to learn, to automate some super manual text mining through .msg files at my work. Thanks!