Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Getting message body structure

by skx (Parson)
on May 20, 2009 at 19:55 UTC ( #765323=note: print w/ replies, xml ) Need Help??


in reply to Getting message body structure

Email::Simple seems like it will do the job ..?

Steve
--


Comment on Re: Getting message body structure
Replies are listed 'Best First'.
Re^2: Getting message body structure
by saurabh.hirani (Beadle) on May 21, 2009 at 12:11 UTC
    Thanks for your feedback. I had considered using Email::Simple. That would solve checking against header entities like from, to, subject, etc. But I also wanted to check if the message contains any of the restricted attachments defined in the configuration. So in my quest for the determining structure of email message cheaply, I also looked at the following:
    1. Email::MIME (thinking it to be lighter than MIME::Parser)
    2. MIME::Structure (the name suggests the ideal solution)

    But both of these modules do not drill down into message/rfc822 headers i.e. if I write an email with a covering note and an image attachment, these modules will show that my email contains - text/plain and image/gif, which is what I want.

    But if I forward this mail to someone with a covering note then they should show - text/plain, message/rfc822 and its children - text/plain and image/gif from the original msg. But they show - text/plain and message/rfc822 - they don't drill down into message/rfc822.

    And yes, I did call the sub parsing the message recursively for message/rfc822. But then I dumped the object hash of these modules and saw that they stop drilling once they hit the message/rfc822 header. I don't know if it is a design decision but it doesn't help me.

    So I am going to do the following - for checking against headers use Email::Simple which benchmarks (using Benchmark module) to be much faster than the same check using MIME::Parser. And for checking attachment names and their mime types, I have no choice but to resort to MIME::Parser.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (17)
As of 2015-07-28 14:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (256 votes), past polls