in reply to How to find the size of an attachment in a POP3 server

I don't think you can get the attachment size directly from the POP server. The MIME headers usually do not contain a "Content-Length" header. The best you can do is use a heuristic, by looking at the total message size, which you can get like this:
my $size = $pop->list( $msgnum );
In general, that number will be higher than the attachment size, because it's the raw byte size of the complete message: it contains the message headers, any text body, the MIME headers for each attachment, and it's inflated due to the attachment(s) being encoded. You might want to account for that by taking a percentage off. In any case, you can be reasonably certain the attachment(s) will be smaller than $size, which I suppose will work for your purpose.

Replies are listed 'Best First'.
Re^2: How to find the size of an attachment in a POP3 server
by bart (Canon) on Sep 05, 2007 at 12:14 UTC
    I agree on the mechanism. A few more thoughts:

    You can retrieve the first $N lines from a mail message from the POP3 server, with top. See Kill that Swen worm on your POP3 account! for example code.

    You can probably read past the text part of the message and into the first lines from the attachments. You can then check what kind of encoding is used (typically it'll be base64) and what's the line length — that typically is fixed for an attachment, or even for all attachements. From this, you can deduce the exact ratio binay size/transmission size. If you don't care about that high precision, for base64, the estimated ratio 3/4 will be very close.

    And from this, you can calculate a very good estimate of the size of a decoded attachment.

Re^2: How to find the size of an attachment in a POP3 server
by Satish@Stag (Novice) on Sep 07, 2007 at 07:46 UTC
    Thanks a lot...its working