CSMTPConnection是atlsmtpconnection.h中的ATL(VC ++)类。 代码:
static _TCHAR mailserver[ 256 ];
static _TCHAR mailsender[ 256 ];
static _TCHAR mailrecips[ 256 ];
static _TCHAR subject[ 256 ];
static _TCHAR msg[ 256 ];
static DWORD mailtimeout=10000;
static CSMTPConnection con;
...
if (con.Connect( mailserver, mailtimeout )){
if (con.SendSimple( mailrecips, mailsender, subject, msg)) {
// it worked
} else {
// it failed
}
} else {
// it failed
}
使用VS2005构建。 部署在Windows 2008和Windows 2003服务器混合的服务中(大约10个)。 除了在其中一个Windows 2003服务器上工作,其中SendSimple方法(或者它可能是连接)总是产生错误997 - 正在进行重叠的I / O操作。 我想我可以继续调用SendSimple循环,直到我没有收到错误,但这会有效吗?