Update base64 decoding to ignore illegal characters

RFC 2045 specifically states that a conformant base64 decoder must ignore characters that are not defined in the base64 alphabet. For example, the following decodes fine in Outlook and other decod...

Id #25928 | Release: None | Updated: Jan 19 at 10:30 PM by gambit47 | Created: Jan 19 at 10:30 PM by gambit47

TIdMessage cannot decode the body of an email that uses cp1026

TIdMessage cannot decode the following email because charset cp1026 causes TIdIOHandler.ReadLn() to return string values that are not consistent with the email RFCs for syntax elements like LFs and...

Id #25900 | Release: None | Updated: Jan 2 at 10:08 PM by gambit47 | Created: Jan 2 at 10:08 PM by gambit47

TIdCmdTCPClient needs to trigger OnDisconnect or OnStatus when disconnected

TIdCmdTCPClient uses an internal reading thread, and that thread does not trigger the OnDisconnect or OnStatus event when the thread terminates, such as due to an abnormal disconnect.

Id #25874 | Release: None | Updated: Dec 15, 2014 at 11:02 PM by gambit47 | Created: Dec 15, 2014 at 11:02 PM by gambit47

TIdTelnet needs to trigger OnDisconnect or OnStatus when disconnected

TIdTelnet uses an internal reading thread, and that thread does not trigger the OnDisconnect or OnStatus event when the thread terminates, such as due to an abnormal disconnect.

Id #25873 | Release: None | Updated: Dec 15, 2014 at 11:01 PM by gambit47 | Created: Dec 15, 2014 at 11:01 PM by gambit47

TIdVCard timestamp handling is broken

TIdVCard is based on RFC 2425 and 2426, but they describe different formats for dates and times. The ParseDateTimeStamp() function in IdVCard.pas does not handle all of the possible formats.

Id #25855 | Release: None | Updated: Dec 5, 2014 at 3:11 AM by gambit47 | Created: Dec 5, 2014 at 3:11 AM by gambit47

Content-Transfer-Encoding descrepency in TIdMessageCoderMIME.ReadBody()

RFC 2045 Section 6.1 states: "'Content-Transfer-Encoding: 7BIT' is assumed if the Content-Transfer-Encoding header field is not present." However, RFC 2045 Section 6.4 states: "Any entity with an...

Id #25848 | Release: None | Updated: Dec 2, 2014 at 10:05 PM by gambit47 | Created: Dec 2, 2014 at 10:05 PM by gambit47

Add support for date/time parameter in IMAP APPEND command

The APPEND command supports an optional date/time parameter to set the mailbox's internal date/time for the appended email, which is separate from the email's Date header. When that parameter is n...

Id #25844 | Release: None | Updated: Dec 24, 2014 at 10:42 PM by gambit47 | Created: Dec 2, 2014 at 12:26 AM by gambit47

Update TIdIMAP4 to support retreiving multiple message in a range

None of the retrieve functions expose the fact that IMAP supports fetching multiple messages or message ranges. It would be useful to be able to get multiple messages in a range (based on sequence ...

Id #25707 | Release: None | Updated: Nov 17, 2014 at 7:01 AM by jessicabrown | Created: Sep 2, 2014 at 8:36 PM by gambit47

TIdIMAP4 needs to request and store UID values more often

UIDRetrieveEnvelope() does not store a UID, RetrieveAllEnvelopes() does not ask for UID (and doesn't store it), and other non-UID retrieve calls do not ask for UID.

Id #25706 | Release: None | Updated: Nov 17, 2014 at 7:01 AM by jessicabrown | Created: Sep 2, 2014 at 8:32 PM by gambit47

FETCH response parsing issues

When parsing a FETCH response, TIdIMAP4 does not handle a ')' character inside a quoted-string (such as the display name) even though that's allowed. It also doesn't handle escaped '"' characters e...

Id #25705 | Release: None | Updated: Sep 2, 2014 at 8:30 PM by gambit47 | Created: Sep 2, 2014 at 8:30 PM by gambit47