/*
Module : PJNSMTP.CPP
Purpose: Implementation for a MFC class encapsulation of the SMTP protocol
Created: PJN / 22-05-1998
History: PJN / 15-06-1998 1) Fixed the case where a single dot occurs on its own
in the body of a message
2) Class now supports Reply-To Header Field
3) Class now supports file attachments
PJN / 18-06-1998 1) Fixed a memory overwrite problem which was occurring
with the buffer used for encoding base64 attachments
PJN / 27-06-1998 1) The case where a line begins with a "." but contains
other text is now also catered for. See RFC821, Section 4.5.2
for further details.
2) m_sBody in CPJNSMTPMessage has now been made protected.
Client applications now should call AddBody instead. This
ensures that FixSingleDot is only called once even if the
same message is sent a number of times.
3) Fixed a number of problems with how the MIME boundaries
were defined and sent.
4) Got rid of an unreferenced formal parameter
compiler warning when doing a release build
PJN / 11-09-1998 1) VC 5 project file is now provided
2) Attachment array which the message class contains now uses
references instead of pointers.
3) Now uses Sleep(0) to yield our time slice instead of Sleep(100),
this is the preferred way of writting polling style code in Win32
without serverly impacting performance.
4) All Trace statements now display the value as returned from
GetLastError
5) A number of extra asserts have been added
6) A AddMultipleRecipients function has been added which supports added a
number of recipients at one time from a single string
7) Extra trace statements have been added to help in debugging
PJN / 12-09-98 1) Removed a couple of unreferenced variable compiler warnings when code
was compiled with Visual C++ 6.0
2) Fixed a major bug which was causing an ASSERT when the CSMTPAttachment
destructor was being called in the InitInstance of the sample app.
This was inadvertingly introduced for the 1.2 release. The fix is to revert
fix 2) as done on 11-09-1998. This will also help to reduce the number of
attachment images kept in memory at one time.
PJN / 18-01-99 1) Full CC & BCC support has been added to the classes
PJN / 22-02-99 1) Addition of a Get and SetTitle function which allows a files attachment
title to be different that the original filename
2) AddMultipleRecipients now ignores addresses if they are empty.
3) Improved the reading of responses back from the server by implementing
a growable receive buffer
4) timeout is now 60 seconds when building for debug
PJN / 25-03-99 1) Now sleeps for 250 ms instead of yielding the time slice. This helps
reduce CPU usage when waiting for data to arrive in the socket
PJN / 14-05-99 1) Fixed a bug with the way the code generates time zone fields in the Date headers.
PJN / 10-09-99 1) Improved CPJNSMTPMessage::GetHeader to include mime field even when no attachments
are included.
PJN / 16-02-00 1) Fixed a problem which was occuring when code was compiled with VC++ 6.0.
PJN / 19-03-00 1) Fixed a problem in GetHeader on Non-English Windows machines
2) Now ships with a VC 5 workspace. I accidentally shipped a VC 6 version in one of the previous versions of the code.
3) Fixed a number of UNICODE problems
4) Updated the sample app to deliberately assert before connecting to the author's SMTP server.
PJN / 28-03-00 1) Set the release mode timeout to be 10 seconds. 2 seconds was causing problems for slow dial
up networking connections.
PJN / 07-05-00 1) Addition of some ASSERT's in CPJNSMTPSocket::Connect
PP / 16-06-00 The following modifications were done by Puneet Pawaia
1) Removed the base64 encoder from this file
2) Added the base64 encoder/decoder implementation in a separate
file. This was done because base64 decoding was not part of
the previous implementation
3) Added support for ESMTP connection. The class now attempts to
authenticate the user on the ESMTP server using the username and
passwords supplied. For this connect now takes the username and
passwords as parameters. These can be null in which case ESMTP
authentication is not attempted
4) This class can now handle AUTH LOGIN and AUTH LOGIN PLAIN authentication
schemes on
PP / 19-06-00 The following modifications were done by Puneet Pawaia
1) Added the files md5.* containing the MD5 digest generation code
after modifications so that it compiles with VC++ 6
2) Added the CRAM-MD5 login procedure.
PJN / 10-07-00 1) Fixed a problem with sending attachments > 1K in size
2) Changed the parameters to CPJNSMTPConnection::Connect
PJN / 30-07-00 1) Fixed a bug in AuthLogin which was transmitting the username and password
with an extra "=" which was causing the login to failure. Thanks to Victor Vogelpoel for
finding this.
PJN / 05-09-00 1) Added a CSMTP_NORSA preprocessor macro to allow the CPJNSMTPConnection code to be compiled
without the dependence on the RSA code.
PJN / 28-12-2000 1) Removed an unused variable from ConnectESMTP.
2) Allowed the hostname as sent in the HELO command to be specified at run time
in addition to using the hostname of the client machine
3) Fixed a problem where high ascii characters were not being properly encoded in
the quoted-printable version of the body sent.
4) Added support for user definable charset's for the message body.
5) Mime boundaries are now always sent irrespective if whether attachments are included or
not. This is required as the body is using quoted-printable.
6) Fixed a bug in sendLines which was causing small message bodies to be sent incorrectly
7) Now fully supports custom headers in the SMTP message
8) Fixed a copy and paste bug where the default port for the SMTP socket class was 110.
9) You can now specify the address on which the socket is bound. This enables the programmer
to decide on which NIC data should be sent from. This is especially useful on a machine
with multiple IP addresses.
10) Addition of funct
没有合适的资源?快使用搜索试试~ 我知道了~
PJ Naughter's stmp
共25个文件
h:9个
cpp:7个
rc:1个
需积分: 0 5 下载量 86 浏览量
2008-10-25
23:15:56
上传
评论
收藏 129KB ZIP 举报
温馨提示
PJ Naughter's smtp发送邮件源程序
资源详情
资源评论
资源推荐
收起资源包目录
smtp.zip (25个子文件)
StdAfx.h 2KB
Release
res
Mail.rc2 396B
Mail.ico 1KB
naughter.css 917B
PJNSMTPApp.cpp 2KB
PJNSMTPApp.vcproj 19KB
PJNSMTPAppConfigurationDlg.h 1KB
PJNSMTPApp.h 535B
PJNSMTP.gif 295B
PJNSmtp.cpp 140KB
PJNSMTP.htm 64KB
resource.h 4KB
PJNSMTPAppConfigurationDlg.cpp 11KB
PJNNTLMAuth.cpp 13KB
PJNMD5.h 7KB
PJNSMTPAppDlg.cpp 21KB
PJNSMTPApp.rc 13KB
PJNSMTPApp.sln 1KB
PJNNTLMAuth.h 3KB
StdAfx.cpp 23B
ReleaseU
PJNSMTPApp.exe 124KB
PJNSMTPAppDlg.h 1KB
PJNSmtp.h 22KB
SendingDlg.cpp 899B
SendingDlg.h 659B
共 25 条
- 1
hardhat
- 粉丝: 3
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Semantic Color Palette 语义调色板Unity游戏开发插件资源unitypackage
- Low Poly Nature:Lush and Diverse Environments低聚自然郁郁Unity低多边形模型资源
- voc数据集是什么-我们如何使用voc数据集
- Edgar Pro-Procedural Level Generator程序关卡生成器Unity开发插件unitypackage
- 宝藏软件m3u8下载器\m3u8DL-CLI
- 三次样条插值的介绍-什么是三次样条插值原理
- http的一些相关介绍-对于我们来说什么是http
- 全卷积网络基于voc2012数据集简单pytorch实现
- pycharm的一些介绍-用于更好的学习python
- 基于C++的程序设计大赛天梯赛L2答案(天梯赛)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0