http://qs321.pair.com?node_id=713835


in reply to Compress email attachments

Since you know about MIME::Parser, you have MIME-tools (that's where MIME::Parser comes from). The documentation for MIME-tools gives examples for decoding and encoding MIME-formatted messages. All you need is a compression step in the middle. Have a look at Compress::Zlib.

Now try this out and if you have problems, come back with sample code and a description of what works and what does not work.

Replies are listed 'Best First'.
Re^2: Compress email attachments
by luckypower (Beadle) on Sep 26, 2008 at 09:53 UTC
    Thanks..
    I am aware of these things....
    but i don't know from where to start.
    suppose the mail has following structure
    1 (mail)
    1.1 (jpg file)
    1.2 (another mail so it has its own header)
    1.2.1 (application)
    1.2.2 (video)
    ...

    so here i have to decode first msg. then second msg(1.2) to get its attachments.
    now compress attachments put them back in second msg and again put the second msg in 1st msg...
    so can i decode msgs n create files or something else..??
      If I understand this correctly, what you have is an email message with multiple MIME parts. Some of those parts are other email messages that also have MIME attachments. This is what the tools in MIME-tools (e.g., MIME::Parser) are designed to deal with.

      May I suggest that you start with something simple? Start with a message that has a single attachment. Write some test code that does what you want (extract the attachment, compress it, re-construct a properly formatted message). Then work up to more complicated schemes like the one you show here.