CSMTPConnection - это класс ATL (VC ++) в atlsmtpconnection.h.
Код:
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 (или это может быть Connect) ВСЕГДА выдает ошибку 997 - Выполняется операция перекрытия ввода-вывода.
Я полагаю, я мог бы просто продолжать вызывать SendSimple в цикле, пока не получу ошибку, но сработает ли это?