Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: Compress email attachments

by broomduster (Priest)
on Sep 26, 2008 at 09:39 UTC ( #713835=note: print w/replies, xml ) Need Help??

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

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://713835]
[ambrus]: ething that's both cleanly organized and mostly automated.
LanX in train, bad connection
[Corion]: ambrus: Yeah - we're in that situation too, except that there is no time to do the reorganizing :-/
[LanX]: ... so my boss started a project with the newest sun servers and invited the traders to come on weekend to test it... and they were so pleased, that they forced him to keep it in production...
[ambrus]: Corion: sure, this is the long-term plan. The short term is that I have to run this ungodly mess to get results from the new input data today.
[Corion]: ambrus: Most of our "automation" is tied to process exit codes and a shell pipeline :-\
[LanX]: ... a week later they realized that one of the databases - which recorded how much the other banks due to this bank - was not correctly plugged
[ambrus]: Corion: I have no problem with exit codes and shell pipeline. My problem is that the current process requires a lot of manual intervention from me, including editing the source codes.
[ambrus]: (Also a lot of manual intervention by two or three other co-workers, who do other parts of the process.)
[ambrus]: Some of the manual part is unavoidable, but not all.

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (11)
As of 2017-03-29 11:52 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (350 votes). Check out past polls.