* * This is Version 8.4 * See User's Manual for changes before 3.1 Version 3.1.0 July 7, 1999 Handle ISO-8859-1 (Q or B) encoded attachment filenames. Handle ISO-8859-1 (Q only) on subject line Added SEE_HIDE_SAVED_MSG. seeIntegerParam(Chan, SEE_HIDE_SAVED_MSG, 1) hides "[Saved to...]" message. Don't write "+OK" line to email message file. Added SEE_HIDE_TO_ADDR. seeIntegerParam(Chan, SEE_HIDE_TO_ADDR) hides "To: " address line. Added seeExractLine() function. seeExtractLine(Src,LineNbr,Buffer,BufSize) extract line 'LineNbr' from buffer 'Src' and places it into 'Buffer'. Attachment filenames don't need quotes ("). Version 3.1.1 July 23, 1999 Fixed problem in DecodeBuffer() when decoding empty strings Version 3.1.2 August 16, 1999 Modified UnQuote to ignore "=?" strings. Version 3.1.3 August 30, 1999 Changed "X-Mail-Agent:" to "X-Mailer" Fixed problem with server responses of more than 2 lines. Version 3.1.4 September 8, 1999 Removed extra CR/LF after headers. Version 3.1.5 September 18, 1999 Added QUOTED_8859 processing (QUOTED_8859). seeIntegerParam(Chan, SEE_QUOTED_PRINTABLE, QUOTED_8859) enables ISO 8859 quoting. Version 3.1.6 September 22, 1999 Internal security modifications. Version 3.1.7 September 30, 1999. Boundary for outgoing mail constructed once in seeAttach so multi-threading of SMTP works properly. Version 3.1.8 October 19, 1999. Added SEE_ADDRESS_DELIMITER. seeIntegerParam(Chan, SEE_ADDRESS_DELIMITER, X) uses character X rather than a comma when specifing multiple email addresses. VerifyBrackets doesn't look for address delimiter (comma) in seeSmtpConnect. Version 3.1.9 October 26, 1999. Internal security modifications. Version 3.1.10 October 28, 1999. Fixed occasional crashs in NT 4.0. Version 3.1.11 November 3, 1999. Decode printed quotable attachments even without MIME boundaries. Change in memory management prevents problems running under NT. Version 3.1.12 November 19, 1999. seeIntegerParam returns SEE_NO_ERROR rather than parameter. Handle filename broken (MS Exchange error) across 2 lines. Version 3.1.13 December 6, 1999. seeDebug(-2, 0, NULL, 0) calls ValidateMemory. Changes to dynamic memory management routines. Version 3.2 January 10, 2000. Added QUOTED_8859 processing (QUOTED_8859). Can decode printed quotable attachments! seeGetEmailLines can use internal memory. Added SEE_WRITE_TO_LOG to seeStringParam. Added SEE_GET_ATTACH_NAMES to seeDebug to get attachment filename list. Ability to reset the SEE_SET_HEADER header string to "nothing". Improvements in dynamic memory usage. Added GETRAW and CODETEST examples. Added support for Lcc-Win32. Added seeCommand function. Added WORD97 and HTML documentation. Version 3.2.1 January 12, 2000. [Win16 ONLY] Fixed problem year set to 100 rather than 2000. Version 3.2.2 February 7, 2000. Allow TIC marks (0x7) in VerifyAddrChars(). Fixed problem with not breaking at 'MaxTextLineLength' characters. Fixed problem with appending AddrDelimiter in SaveAttachName(). Version 3.2.3 March 1, 2000. Added SEE_GET_LAST_RECIPIENT to seeDebug. Version 3.2.4 March 20, 2000. Added seconds to date string. TotalAttachments never reset to 0 unless seeAttach is called. Version 3.2.5 April 10, 2000. seeClose() also closes email file if still open. Attachment name is saved when attachment file is closed. Version 3.2.6 May 9, 2000. Added SEE_PATH_DELIMITER to seeIntegerParam(). Version 3.2.7 May 22, 2000. Check for boundary while looking for "MIMEVersion". Version 3.2.8 June 21, 2000. Blank line not written after "MIME-Version: 1.0" line. Added seeAbort function [ int seeAbort(int Chan) ]. VerifyFormat rejects "@domain" and "name@" addresses. Version 3.2.9 July 10, 2000. Added "SEE_SET_FROM" to seeStringParam so can change "From:" header at runtime. Version 3.2.10 August 3, 2000. Delimiters (CR/LF) sent with command in one network transmission. Version 3.2.11 September 7, 2000. Added QUOTED_USER, SEE_SET_CONTENT_TYPE, and SEE_SET_TRANSFER_ENCODING. Version 3.3.0 October 3, 2000. Added SEE_ATTACH_DELIMITER and ability to specify different attachment filename in message. EG: "C:\TEMP\MYFILE.TXT|XFILE.TXT" opens MYFILE.TXT buts says XFILE.TXT in email. Added SEE_ADD_HEADER to seeStringParam(). Added SEE_WRITE_BUFFER to seeDebug. Write full path name to LOG file for message file and attachments. Fixed bug in seeStatistics(Chan ,SEE_GET_CONNECT_STATUS) Added SEE_ENABLE_IMAGE to seeIntegerParam(). WriteToDisk traps errors. Replaced MaxLineWait with MaxSmtpLineWait and MaxPop3LineWait. Supports ISO-8859 quoting (?q?) on "From:" header line. Version 3.3.1 October 5, 2000. Handle .JPG images like .BMP, etc. "*\0" triggers use of internal memory in seeGetEmailLines. Version 3.3.2 October 13, 2000. Space not added between 2 consecutive blank lines. Version 3.3.3 November 15, 2000. Added inline HTML images. QUOTED_HTML messages are not quoted. Version 3.3.4 December 26, 2000. User memory freed in seeStringParam(Chan, SEE_WRITE_BUFFER, ... ) Version 3.3.5 February 10, 2001. seeParseDecimal returns long (affects Win16 only) Added SEE_RAW_MODE capability. Version 3.3.6 February 27, 2001. CombineLines() squeezes all blanks from beginning of second line. Version 3.3.7 March 1, 2001. Boundary ID contained spaces if current system time < 7 digits. CombineLines() treats TABs as spaces. Version 3.3.8 April 9, 2001. Corrected problem with "inline" attachments. Version 3.3.9 May 3, 2001. Can save filenames (SaveAttachName) longer than 64 bytes. NAME_BUF increased from 512 to 1024 characters. Version 3.3.10 June 29, 2001 Decode inline base64 attachments into email message. Version 3.4.0 June 30, 2001 Supports "AUTH LOGIN" and "AUTH CRAM-MD5" (ESMTP) authentication. Added SEE_SET_AUTH_SECRET, SEE_ENABLE_ESMTP, SEE_SET_USER. SmtpResponse accepts response line without message. Handle ISO-8859-1 (Base64 encoded) on subject line. Re-coded MD5 code (MD5Transform, etc) for Win16 as well as Win32. Added APOP capability. Removed calls to socket peek by using PeekData[] queue! Version 3.4.1 July 10, 2001 Removed additional CR/LF from login responses. Version 3.4.2 August 15, 2001 BreakLineOnSpace now reset when MaxTextLineLength is in seeIntegerParam. Added support for "AUTH PLAIN". Now recognize multiple AUTH methods, such as "AUTH PLAIN LOGIN CRAM-MD5" Fixed problem with '=' characters added to end of wide QUOTED_HTML messages. Added SEE_SET_TEXT_MESSAGE to allow extra text attachment (send both text & HTML). USER_IDX memory freed in seeGetEmailLines(). SmtpResponse modified. Version 3.4.3 September 1, 2001 Internal changes correct multi-threaded operation. Version 3.4.4 September 27, 2001 Replaced socket calls with msc-vs.c Replaced Str functions with msc-str.c NBR_CHANS reduced to 16 for WIN16 (only) Version 3.4.5 October 2, 2001 If cannot create attachment filename, call CleanupFileName() then try again. Added SEE_FORCE_INLINE - attachments are inline text rather than base64 Quote chars when use SEE_FORCE_INLINE and use QUOTED_PLAIN. Correct buffer problem in OpenFileHandle(). Added SEE_SET_ATTACH_CONTENT_TYPE [build 16] Version 3.4.6 November 19, 2001 Fixed problem with alternate text being truncated by MAX_BUF (at STATE_SMTP_TEXT_MSG_OK:) Version 3.4.7 December 4, 2001 Added SEE_ATTACH_BASE_NUMBER (overides SEE_FILE_PREFIX). Don't close socket (seeClose) if socket is already closed. [build 4] NBR_CHANS set to 128 for Win32 Call vsFlushSocket after each email is downloaded. [build 6] Version 3.4.8 December 12, 2001 Corrected problem with lines beginning with period. Version 3.4.9 January 4, 2002 SEE_RAW_MODE reads complete lines rather than buffers. [build 2] Added seeQuoteBuffer() Version 3.5.0 March 5, 2002 Will continue with sending DATA if have at least one recipient. Call seeStatistics(Chan, SEE_GET_LAST_RECIPIENT) to get # recipients accepted by server. Removed SEE_MIN_LINE_WAIT, SEE_MAX_LINE_WAIT, SEE_MAX_SMTP_WAIT, SEE_MAX_POP3_WAIT Added SEE_STOP_IF_REJECTED. Version 3.5.1 March 8, 2002. Any keycode matches shareware DLL. Version 3.5.2 April 4, 2002. Added INLINE_TEXT_OFF, INLINE_TEXT_INLINE, & INLINE_TEXT_ATTACHMENT Return error for SMTP codes >= 400 (was 500) Max response & line wait default set to 60 seconds. [build 6] Version 3.5.3 May 2, 2002. Added anti-crack code to seeAttach. Added SEE_WRITE_CONTENT_TYPE. Version 3.5.4 May 10, 2002. Added SEE_AUTHENTICATE_PROTOCOL & (AUTHENTICATE_CRAM, AUTHENTICATE_LOGIN, AUTHENTICATE_PLAIN) Version 3.5.5 May 20, 2002. Added SEE_SET_CONTENT_TYPE - specify prefix string written if SEE_WRITE_CONTENT_TYPE is enabled. Added SEE_SET_FILE_PREFIX - set to new prefix char, or to '\0' to disable (file never used as source) Version 3.5.6 June 13, 2002 Check for ContentType on two lines when checking WriteContentFlag. Version 3.5.7 September 4, 2002 Added seeDecodeUU(). Version 3.5.8 October 4, 2002 Close with one network write [STATE_SMTP_DONE]. Tab treated like space Version 3.5.9 October 21, 2002 Minor coding changes. Version 3.6.0 November 7, 2002 Added seeSendHTML(). Looks for multipart/related as well as multipart/alternative message parts Added SEE_HTML_CHARSET (CHARSET_US and CHARSET_ISO_8859_1) Added CHARSET_WIN_1252 and CHARSET_WIN_1255. Generic multipart boundary definitions handled (not just alternate, related, ...) CR/LFs preserved in multiline "Subjects:" headers. Handle case where "MIME-Version: 1.0" statement does not proceed all other MIME statements 64 sockets supported in WIN32 MAX_BUF increased from 2048 to 8192 for WIN32 Virtual socket # written to log file when created (vsGetSocket) & released (vsCloseSocket). Write to email file if "MIME-Version" was not seen [MIME_LOOKING4_BOUNDARY_LINE] vSock released properly in seeClose [fixes error]. Version 3.6.1 February 14, 2003 Terminating ALT boundary not written if HTML file is passed from memory (not a file) Alternate text in seeSendHTML can be file (if prefixed with '@') Added seeEncodeUTF8 and seeDecodeUTF8 functions. AddrDelimiter and PathDelimiter changed to a semicolon ';' Added QUOTED_WIN_1252 and QUOTED_WIN_1255 User headers written even if no subject Version 3.6.2 April 10, 2003 Corrected problem: User Content-Type wasn't being sent if no quoting Version 3.6.3 May 7, 2003 Fixed problem with "Filename=" extraction. Replaced OF_READ|OF_SHARE_DENY_WRITE with OF_SHARE_DENY_WRITE in _lopen. Filename added to SEE_CANNOT_CREATE & SEE_CANNOT_OPEN error messsges. Version 3.6.4 June 8, 2003 Scan subjects & filenames for "big5" encoding like iso-8859. MimeState & MimeVersionSeen initialized to 0 before sending mail. Version 3.6.5 July 3, 2003 Multi-line subject headers supported in seeGetEmailFile. Version 3.6.6 September 10, 2003 ReadMsgLine uses Allow8Bits to decide if it should quote or not. Version 3.6.7 November 5, 2003 Added SEE_SET_DEFAULT_ZONE Increased buffer size for SMTP authentication challenges. Added seeStatistics(*,1001) --> returns 'MemoryAllocationCounter'. Version 3.6.8 November 18, 2003 Added WriteToLog(), WriteClientTempToLog(), and WriteToLastLog() to centralize log writing. Version 3.6.9 December 1, 2003 Added seeStringParam(*,SEE_SET_ATTACH_DESCRIPTION, Text) where 'Text' is a buffer containing the text of the (optrional) description header associated with MIME attachments. Version 3.6.10 January 21, 2004 Nulls are replaced by spaces in all incoming data. Corrected a log file problem (some garbage was being written to log file). Version 3.6.11 March 18, 2004 Added support for "=?US-ASCII?B?" encoded filenames. Version 3.6.12 May 6, 2004 Fixed problem quoting line starting with '.' and having non-ascii characters. Version 3.6.13 June 10, 2004 Fixed SMTP socket write time-out problem. Version 3.7.0 January 17, 2005 Fixed problem with Content-Type prefix (set by SEE_WRITE_CONTENT_TYPE). Only one of TO, CC, and BCC must contain a recipient. Added SEE_REPLACE_WITH_COMMAS - replaces email delimiter with commas in outgoing email. CC headers always written to email output Added seeAttachmentParams() - allows specification of attachment content-types. Maximum line length default increased to 1000 characters. SEE_FILE_PREFIX parameter sets base for attachment file prefixes. Changed "multipart/mixed" to "multipart/related" for seeSendEmail. First CR/LF in pathname is replaced by null before using to open file. Version 3.7.1 March 15, 2005 Added SEE_GET_AUTH_PROTOCOLS Version 3.7.2 June 22, 2005 Added 500 ms wait to minimum response wait in STATE_BLOCK to ease connection timing requirements Version 3.7.3 August 15, 2005 Fixed problem with embedded '@' in filenames. Version 3.7.4 December 15, 2005 Added SEE_SET_MULTIPART and SET_TIME_ZONE (sets time zone string) Check if last line in this header statement only if not null line Version 3.7.5 January 11, 2006 Test for empty string in seeStringParam() Version 3.7.6 February 16, 2006. Added SEE_GET_ATTACH_TYPES to seeDebug to get attachment types list. Boundary parameters always zeroed after connecting. Added X-Mail-Agent as alternative to X-Mailer WIN16 Only: Attachment filenames > 64 characters renamed to $BIG.BIN Version 4.0.0 June 12. 2006 Always an error if "relay", "gateway", or "not local" is in the text of the servers response, regardless of SEE_IGNORE_REJECTED. Forwarded header lines are written to message/rfc822 (attachment) file. seeGetEmailFile: Each pop3 message is (optionally) saved to disk in raw format. Added seeForwardEmail and seePop3Source functions. Alternate boundaries defined w/o enclosing quotes supported. Added SEE_PATH_NOT_ALLOWED error condition (seeGetEmailFile). Added seeShortToByte and seeByteToShort functions. Version 4.0.1 June 1, 2006. Added SEE_PATH_NOT_ALLOWED error condition (seeGetEmailFile). Added seeShortToByte and seeByteToShort functions. Version 4.0.2 July 4, 2006. Added SEE_KEEP_RFC822_INTACT. Added SEE_NO_SUCH_PATH error. Email & attachment directories verified to exist in seeGetEmailFile. File appended to text returned by seeErrorText for SEE_NO_SUCH_FILE Path appended to text returned by seeErrorText for SEE_NO_SUCH_PATH Version 4.0.4 August 31, 2006. Minor changes to support Visual Studio 2005 C (VC 8) Fixed problem: seeForwardEmail was replacing TABS (0x09) with '~' Version 4.0.5 October 17, 2006 Allow @ in name portion of "From:" address Version 4.0.6 December 11, 2006 Recognize boundaries w/o enclosing quotes which are terminated with a semi-colon Version 4.0.7 January 4, 2007. Date field found regardless of placement in headers. Replaced "inline; filename=forward.txt" with "attachment" in ContentDispositionMessage text. Version 4.0.8 February 15, 2007 if Content-ID exists, it is written to "attachment saved" line in email output file. Version 4.0.9 April 9, 2007 Minor clean up. seeQuoteBuffer can not longer write past end of buffer (when short buffer is passed) Version 4.0.10 July 30, 2007 Fixed problem with seeEncodeUTF8 and seeDecodeUTF8 Version 5.0.0 April 8, 2008 Added seeSetErrorText.c example program Added LoadLib.c example program. Added IMAP capability. IMAP-only functions are: 1. seeImapConnect : Connect to IMAP server. 2. seeImapFlags : Get, set, or delete message flags. 3. seeImapSearch : Search for messages with specified flags. 4. seeImapMsgNumber : Gets message numbers from buffer filled by seeImapSearch. 5. seeImapSelectMB : Selects IMAP mailbox. 6. seeImapDeleteMB : Delete a mailbox. 7. seeImapCreateMB : Create a new mailbox. 8. seeImapRenameMB : Rename mailboxes. 9. seeImapCopyMBmail : Copy messages from selected mailbox to specified mailbox. 10. seeImapListMB : List all available mailboxes. Added ImapFlagsT, ImapSearch, and ImapMBtest example programs. Pass NULL for filename to seePop3Source / seeImapSource to revert back to server processing. Version 5.1.0 April 27, 2009 Supports 64-bits (SEE64.DLL). Fixed code for IMAP_SEARCH_MSG_COUNT in seeImapMsgNumber Appended CR/LF to text returned by seeGetEmailUID Fixed problem with STATE_POP3_DELETE (call exiting via STATE_POP3_DELETE_OK) Consider TAB's as ASCII characters Added EnableHeaders flag so can diable writing of all headers. Write the # bytes written to mail file in the log file. Fixed bug: seeGetEmailCount works with all IMAP mailboxes (not just InBox). Added seeStartProgram and seeKillProgram that starts & kill external programs. Fixed problem with blocking mode so connect timeout works. Added seeSmtpTarget that writes SMTP output to a file. Fixed problem with seeSendEmail (w/ attachment) after forwarding email. Version 5.2.0 February 18, 2010. Added seeSleep function (for languages not having a native Sleep call). The HELO command passes the computer name rather than it's IP address. Bug Fix: All handles closed before memory blocks are freed. Bug Fix: Multiline "To:" header preserved in incoming email. Bug Fix: seeSmtpTarget now always closes files. Bug Fix: seePop3Source now always closes files. Bug Fix: Multiple IMAP response lines now handled properly by seeCommand. Added UTF8 character set support (CHARSET_UTF8). Added check for "MX lookup failure" when reading incoming mail. Added check for "Invalid MX record" when reading incoming mail. Changed IMAP list command argument default from [~/ *] to ["" "*"] (without the brackets). Added SEE_SET_IMAP_LIST_ARG to seeStringParam (sets IMAP list command argument) Added seeReadQuoted function: reads a file and quotes the contents as it writes to a buffer. Added "Buffer overflow" error code. Added QUOTED_ISO_8859_2 to seeIntegerParam for sending ISO_8859_2 encoded emails. Added QUOTED_ISO_8859_7 to seeIntegerParam for sending ISO_8859_7 encoded emails. Added SEE_GUT_ATTACHMENTS to seeIntegerParam to remove contents of incoming attachments. Added SEE_SET_FOOTER to seeStringParam to append footer text to all outgoing email. Version 5.2.1 March 6, 2010 Added seeTestFileSet Added seeGetTicks [bld 2] Don't write Ct/LF before closing period in STATE_SMTP_DONE [bld 5] seeTestFile(-1, ...) functions before seeAttach called [bld 7] Version 5.2.2 May 12, 2010 Bug with missing leading 0 in DATE fixed (GetDateString) Added SEE_SIMULATED_ERROR (internal debug) error message. Version 5.2.3 June 14, 2010 Fixed problem with seeCommand (work-around for compiler error ?) Version 5.2.4 October 13, 2010 Added '+' to allowable characters in VerifyAddressChars() Version 6.0.0 February 1, 2011 Added functions seeSmtpConnectSSL and seePop3ConnectSSL. Added function seeIsConnected Fixed: Can now have leading peiod in alternate text. Added SEE_SET_LOCAL_IP (seeStringParam) to specify local IP. Added support for CHARSET_WIN_1250 Changed (default) MaxResponseWait from 10 secs to 25 secs Added SEE_SET_HELO_STRING Fixed problem with reading POP3 from file Added support for ISO-8859-3 and ISO-8859-4 Added support for MinGW GCC compiler. Version 7.0 October 24, 2011 Includes changes so that Stunnel (used for email services requiring SSL) is automatically configured, loaded, and unloaded without any user intervention. Modified seeSetProxySSL(), seeSmtpConnectSSL(), seePop3ConnectSSL(), seeImapConnectSSL() to support Stunnel in automatic configure/load/unload mode. Fixed problem decoding some "ISO-8859" subjects Fixed problem with wrong content type when using seePop3Rd Fixed problem with seeAttachmentParams ParseISO removes removes iso-8859-15 encoding from incoming Subject, etc. "To:" and "CC:" strings decoded (base64 & quoted) Decode quoted UTF-8 subject strings Replace underscore with blank (RFC2047) in UnQuote Added ".png" to image types Call seeStringParam(Chan, SEE_SET_HELO_STRING, '*') to use machine name for HELO string Call seeStringParam(Chan, SEE_LOG_FILE, "\0") to disable logging Recognizes iso-2022-jp Version 7.1 March 29, 2012 Can pass full pathname for ProxyEXE and ProxyCert in seeSetProxySSL. Buffer sizes for ProxyEXE & ProxyCert (seeSetProxySSL) increased from 64 to 256 chars. (NOTE: can an no longer pass a null string for PEM certificate) seeRelease() kills all running copies of Stunnel started by SEE. Password characters not written to log file (PASS ****) & AUTH transmissions Added SEE_SET_CONNECT_ATTEMPTS that sets max connection attempts (1 to 12) Fixed problem: ImapConnect not returning error if bad login. SEE closes all process handles for all external program started by SEE. Version 7.2.0 August 12, 2013 Increased the maximum number of channels from 32 to 64. Allow multiple subject lines in incoming email. Added SEE_REPLACE_UNDERSCORES to seeIntegerParam() to disable replacement of underscores with spaces (RFC2047). Fixed problem with GMAIL IMAP connection. Can now decode Win1255 subjects. seeAbort now always closes attachment files. Fixed zone calculation for "half-zones". Added debug info to seeGetEmailCount(). Added STUNNEL_DISABLE_LOGGING flag to seeSetProxySSL() that disables Stunnel logging. Fixed problem with SEE_ADD_HEADER when re-opening connection. Allow attachment filename to have a leading space. Added seeGetHeader() function with parameters SEE_GET_SUBJECT, SEE_GET_FROM, SEE_GET_REPLT_TO, SEE_GET_TO, and SEE_GET_DATE Version 7.3.0 November 21, 2014 Decodes UTF8 encoded attachment filenames. Diagnostics written to log file if missing '<' or '>' delimiters in email addresses. Added SEE_ALLOW_PARTIAL to seeIntegerParam which allows PARTIAL commands in IMAP. Added SEE_GET_UIDVALIDITY to seeStatistics which returns UID Validity in IMAP. Fixed problem with boundary buffer [64-bit only]. Added seeConfigSSL() function which adds lines to the SSL configuration file. Added seeUnquote() function that unquotes buffers. Added UTF8 quoting : seeIntegerParam(Chan, SEE_QUOTED_PRINTABLE, QUOTED_UTF8) Version 7.4.0 March 21, 2016 Added: seeMakeSubject() to make ISO & UTF-8 quoted subject strings. Added: seeTestConnect() to test the connection to an email server. Added: seeImapConnect() & seeImapConnect() updated to hide LOGIN password. Added: Content-Type marked automatically for PDF and WAV files. Fixed: socket forced closed if cannot connect to server. Fixed: replace non ASCII characters in the subject and header strings with the '_' character. Added: allow commas to be used in a filename itself (seeTestFileSet). Added: more diagnostics to the SEE log file. Added: support for Digital Mars C compiler. Fixed: stunnel log file name corrupted when written to SEE log file. Version 7.5.1 August 17, 2017 Fixed : Problem fixed in which two user headers can't be set. Added : SEE_SET_RCPT_TRACE_FILE added to seeStringParam to write RCPT trace to disk Added : Added seeSetCertAuth() to specify Certification Authority certs (for SSL) Change: The max connection attempts reduced from 5 to 3. Change: The trace filename format changed to "%s_%1d.log" (eg: c:\see4c\ssl\rcpt_trace_0.log) Added : Current directory filename is written to log file Added : The date stamp filename is written to the log file Added : The SEE version written to log file moved to just after log file is opened Added : Display SSL file date stamps in log file. Version 8.0.0 October 3, 2018 Added: SEE writes SSL file date stamps to SEE log file. Fixed: Multiple subject lines were not always correctly combined (seeGetEmailFile). Change: Increased value of MaxConnectAttempts from 12 to 20. Added: Added error code constant SEE_BAD_UTF8_CHAR. Added: Added function seeEncodeUTF8String() that encodes UTF8 strings. Added: Added function seeDecodeUTF8String() that decodes UTF8 strings. Added: Added constant SEE_GET_CUSTOMER_ID to function seeStatistics() Added: Customer ID written to Stunnel configuration file. Added: Additional connection statistics written to SEE log file. Added: Constant SEE_SHOW_PASSWORDS added that shows all passwords in log file Fixed: Problem with SSL PLAIN authentication protocol corrected. Change: Base64 strings passed to seeDecodeBuffer() no longer required to end with CRLF. Version 8.1.0 February 21, 2020 Fixed: Fixed seeTestFileSet() problem (file critical section not initialized) Added: Added Windows error text written to log file when Windows returns an error Change: Files opened for read now in shared access (FILE_SHARE_READ) Fixed: Fixed "CID=" string in log file Added: IMAP response "+OK" accepted in addition to "OK" Fixed: Fixed problem with UnQuote (did not handle lower case hex correctly) Added: Added error code SEE_INDEX_RANGE Added: Added function seeSetFileBuffer() - used to pass buffer (not file) as attachment Added: Added BASE64_UTF8 to seeMakeSubject() Added: seeStartProgram() sets last error for subsequent call to seeDebug(Chan, SEE_GET_LAST_ERROR,...) Added: Added SEE_GET_LAST_ERROR (36) to seeDebug Added: Error text written to log file if Stunnel can't be started Fixed: Handles decoding ISO & UTF8 multi-line subjects correctly Added: Writes KeyCode value to log file if seeDebug(...,SEE_GET_REGISTRATION,...) is called Change: Change SEE_REPLACE_UNDERSCORES (EnableRFC2047) default to FALSE Added: Added SEE_GET_KEYCODE to seeStatistics() Change: Multi-line "Subject:" lines saved as lines (not concatenated) for retrieval by seeGetHeader() Change: Multi-line "To:" lines saved as lines (not concatenated) for retrieval by seeGetHeader() Version 8.2.1 January 11, 2021 Added: IMAP processing now traps "NO" and "BAD" responses during login. Change: Removed limits on the number & size of saved subject lines that can be returned by seeGetHeader() Change: Allows ISO & UTF subjects to be broken in mid-line. Change: SEE_REPLACE_UNDERSCORES (EnableRFC2047) default changed to TRUE Added: Added support for OAUTH2 - user MUST provide access token ! Fixed: Base64 encoded passwords now replaced with astericks in log file (default) Change: Increased password buffer to 256 characters (supports SendGrid passwords) Version 8.3.1 March 21, 2022 Fixed: Fixed problem when renaming attachments "on the fly" [oldname|newname]. Added: Added renaming of inline images "on the fly" [oldname|newname]. Added: Write authentication protocol selected by user to the log file. Added: Added "Unexpected empty string" (SEE_EMPTY_STRING) error code. Added: Allow the "From:" header (POP3) to be split over multiple lines. Change: Protocol XOAUTH2 must be explicitly enabled - seeIntegerParam(0, SEE_AUTHENTICATE_PROTOCOL, AUTHENTICATE_XOAUTH2). Version 8.4.0 January 24, 2023 Added: Added Message-ID header to all outgoing email. Added: Allow "From:" header to be split over multiple lines. Added: Added diagnostics to decoding UTF-8 filenames. Fixed: Fixed problem if SSL config string did not end with LF. Change: Increased OAUTH2 password buffer to 2048 bytes. Added: Added function seeMakeXOAuth2() that creates OAUTH2 password string. [END]