Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

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 ..?


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?

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2021-03-02 08:44 GMT
Find Nodes?
    Voting Booth?
    My favorite kind of desktop background is:

    Results (41 votes). Check out past polls.