Mega Search
23.2 Million


Sign Up

Make a donation  
Error in TIdPOP3 component  
News Group: embarcadero.public.cppbuilder.internet.socket

''2258440515'' is not a valid integer value" is reported for POP3 inbox when using POP3Client->List() or POP3Client->CheckMessages()

Clearly a large inbox but also a problem with TIdPOP3 component which uses 32-bit int to store message sizes. How about using 64-bit int instead as a quick workaround, it is large enough to store centuries of email?

Vote for best question.
Score: 0  # Vote:  0
Date Posted: 11-Nov-2014, at 4:44 AM EST
From: John May
 
Re: Error in TIdPOP3 component  
News Group: embarcadero.public.cppbuilder.internet.socket
> I just did :)  Mailbox sizes now use Int64, but message numbers still use 
> Integer for now.

Thank you Remy! Truly appreciated!

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 12-Nov-2014, at 6:23 AM EST
From: John May
 
Re: Error in TIdPOP3 component  
News Group: embarcadero.public.cppbuilder.internet.socket
John wrote:

> I never said it has 2+ billion messages. It has 2+ billion bytes
> in total of these messages (which is returned by STAT).

That is what I asked: "Is your inbox 2+ GB in size?".   I guess the answer 
is yes.

> OK, but will it be fixed?

I just did :)  Mailbox sizes now use Int64, but message numbers still use 
Integer for now.

--
Remy Lebeau (TeamB)

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 11-Nov-2014, at 6:31 PM EST
From: Remy Lebeau (TeamB)
 
Re: Error in TIdPOP3 component  
News Group: embarcadero.public.cppbuilder.internet.socket
> {quote:title=Remy Lebeau (TeamB) wrote:}{quote}
> > ''2258440515'' is not a valid integer value" is reported for POP3
> > inbox when using POP3Client->List() or POP3Client->CheckMessages()
> TIdPOP3::CheckMessages() uses the STAT command, which returns the number 
> of messages and the byte size of the inbox.  It is unlikely that you have 
> 2+ billion messages.  Is your inbox 2+ GB in size?

I never said it has 2+ billion messages. It has 2+ billion bytes in total of these messages (which is returned by STAT).
Try using it on Hotmail (Outlook.com) or Yahoo mail - that situation can indeed easily happen if messages are accessed using POP3 and not IMAP as these 2 well known services do allow such enormous inboxes. As well as some other providers too, to avoid listing them now.

> That is a known issue:
> Update TIdPOP3 and TIdPOP3Server to support 64bit message numbers and byte 
> sizes 
> http://code.google.com/p/indyproject/issues/detail?id=290
> http://indy.codeplex.com/workitem/25460

OK, but will it be fixed? It is a minor fix really.

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 11-Nov-2014, at 5:38 PM EST
From: John May
 
Re: Error in TIdPOP3 component  
News Group: embarcadero.public.cppbuilder.internet.socket
John wrote:

> ''2258440515'' is not a valid integer value" is reported for POP3
> inbox when using POP3Client->List() or POP3Client->CheckMessages()

TIdPOP3::CheckMessages() uses the STAT command, which returns the number 
of messages and the byte size of the inbox.  It is unlikely that you have 
2+ billion messages.  Is your inbox 2+ GB in size?

TIdPOP3::List() uses the LIST command, which does not return any numbers 
that List() parses, so you cannot be getting that error with List().

> Clearly a large inbox but also a problem with TIdPOP3 component
> which uses 32-bit int to store message sizes. How about using 64-bit
> int instead as a quick workaround, it is large enough to store centuries
> of email?

That is a known issue:

Update TIdPOP3 and TIdPOP3Server to support 64bit message numbers and byte 
sizes 
http://code.google.com/p/indyproject/issues/detail?id=290
http://indy.codeplex.com/workitem/25460

--
Remy Lebeau (TeamB)

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 11-Nov-2014, at 11:23 AM EST
From: Remy Lebeau (TeamB)