Naughter Software Logo

smtp.gif (295 bytes)CPJNSMTPConnection v3.06 A collection of MFC classes to support the SMTP protocol

Welcome to CPJNSMTPConnection, a collection of MFC classes to support the SMTP protocol. SMTP for those not familiar with all the internet protocols is the protocol used to send internet email.

Also included with the SMTP classes in the download is a class called "CPJNMD5Hash" which provides for calculation of MD5 hashes and HMACs using the MS Crypto API as well as a class called "CNTLMClientAuth" which provides a reusable client side implementation for NTLM authentication. A header file called "PJNLoadLibraryFromSystem32.h" is also included which provides a version of LoadLibrary which loads a DLL without any path information from the Windows System directory. This helps avoid DLL planting security issues in your application when you call LoadLibrary with a module name without any path information.

Important!: Please note that I have been informed that CPJNSMTPConnection is being used to develop and send unsolicited bulk mail. This was not the intention of the code and the author explicitly forbids use of the code for any software of this kind.

Please note that as of v2.70, the code is now for Visual C++ 2005 or later. I will not be supporting VC 6 anymore for this code, so please don't email me requesting this<gg>. Remember VC 6 is now a ten year old compiler. It's now time to upgrade to VC 2005 or VC 2008!

 

References

 

Features

 

 

 

The enclosed zip file contains the CPJNSMTPConnection source code and a simple test program to exercise all of the functions the classes provide.

 

Copyright

 

Updates

V1.0 (26 May 1998)

V1.1 (17 June 1998)

V1.11 (18 June 1998)

V1.12 (27 June 1998)

V1.2 (11 August 1998)

V1.21 (12 September 1998)

8 November 1998

Philip K Chung has taken the CPJNSMTPConnection class and developed a version which has the following features:

The code can be downloaded here. I would ask you to forward any queries relating to this code to Philip as I am only hosting the code as a favor to him as he does not maintain a web site of his own.

V1.3 (18 January 1998)

V1.31 (22 February 1999)

V1.32 (25 March 1999)

V1.33 (14 May 1999)

V1.34 (10 September 1999)

V1.35 (5 October 1999)

V1.36 (16 February 2000)

V1.37 (19 March 2000)

V1.38 (26 March 2000)

V1.39 (28 March 2000)

V1.40 (7 May 2000)

V1.41 (20 June 2000)

V2.0 (21 June 2000)

V2.01 (10 July 2000)

V2.02 (30 July 2000)

V2.03 (5 September 2000)

V2.04 (28 December 2000)

V2.1 (14 May 2001)

V2.11 (17 June 2001)

V2.12 (25 June 2001)

V2.13 (1 July 2001)

V2.14 (15 July 2001)

V2.15 (13 August 2001)

V2.16 (29 September 2001)

Eric Fontana has taken the CPJNSMTPConnection class and developed a COM version which has the following features:

The code can be downloaded here. I would ask you to forward any queries relating to this code to Eric as I am only hosting the code as a favor to him.

V2.17 (12 October 2001)

3 December 2001

V2.18 (11 January 2002)

13 January 2002

V2.19 (29 July 2002)

V2.20 (10 August 2002)

V2.21 (20 September 2002)

V2.22 (3 October 2002)

V2.23 (4 October 2002)

V2.24 (11 December 2002)

V2.25 (7 February 2003)

9 February 2003

V2.26 (19 March 2003)

V2.27 (13 April 2003)

V2.28 (17 April 2003)

V2.29 (19 April 2003)

V2.30 (4 May 2003)

V2.31 (5 May 2003)

V2.32 (12 May 2003)

18 August 2003

V2.33 (18 August 2003)

19 August 2003

V2.34 (15 October 2003)

V2.35 (3 November 2003)

V2.36 (3 December 2003)

V2.37 (11 December 2003)

V2.38 (31 January 2004)

V2.39 (7 February 2004)

V2.40 (18 February 2004)

V2.41 (4 March 2004)

V2.42 (13 March 2004)

V2.43 (5 June 2004)

V2.44 (7 June 2004)

V2.45 (30 September 2004)

V2.46 (23 December 2004)

V2.47 (24 January 2005)

19 February 2005

V2.48 (7 March 2005)

V2.49 (26 March 2005)

V2.50 (18 April 2005)

V2.51 (23 April 2005)

V2.52 (1 May 2005)

V2.53 (3 May 2005)

18 May 2005

V2.54 (24 July 2005)

V2.55 (14 August 2005)

V2.56 (5 September 2005)

V2.57 (7 September 2005)

V2.58 (29 September 2005)

V2.59 (2 October 2005)

V2.60 (7 October 2005)

V2.61 (16 November 2005)

9 December 2005

V2.62 (29 June 2006)

V2.63 (14 July 2006)

17 July 2006

V2.64 (13 October 2006)

V2.65 (11 November 2006)

V2.66 (30 March 2007)

V2.67 (1 August 2007)

V2.70 (13 November 2007)

V2.71 (19 November 2007)

V2.72 (23 December 2007)

V2.73 (24 December 2007)

V2.74 (31 December 2007)

V2.75 (2 February 2008)

V2.76 (1 March 2008)

V2.77 (31 May 2008)

V2.78 (20 July 2008)

V2.79 (27 July 2008)

V2.80 (16 August 2008)

V2.81 (2 November 2008)

V2.82 (6 November 2008)

V2.83 (28 June 2009)

V2.84 (13 November 2009)

V2.85 (17 December 2009)

V2.86 (23 May 2010)

V2.87 (4 June 2010)

V2.88 (10 July 2010)

V2.89 (28 November 2010)

V2.90 (18 December 2010)

V2.91 (8 February 2011)

V2.92 (13 February 2011)

V2.93 (1 April 2011)

V2.94 (4 December 2011)

2 February 2012

V2.95 (12 August 2012)

14 September 2012

V2.96 (23 September 2012)

V2.97 (24 September 2012)

V2.98 (30 September 2012)

V2.99 (25 November 2012)

V3.00 (12 March 2013)

V3.01 (3 June 2013)

7 June 2013

V3.02 (5 January 2014)

V3.03 (5 January 2014)

V3.04 (26 January 2014)

V3.05 (9 February 2014)

V3.06 (13 April 2014)