给我个失败的理由
void __fastcall TForm1::Button1Click(TObject *Sender)
{
UnicodeString aStr;
wchar_t wAcc[64] = L"AAAA";
wchar_t wPwd[64] = L"BBBBB";
wchar_t wReg[64] = L"BBBBB";
wchar_t wEnd[64] = L"BBBBB";
wchar_t wEmail[64] = L"28206303@qq.com";
wchar_t wSubject[64] = L"account";
setlocale(LC_ALL, "Chinese (Simplified)_People's Republic of China");
//mbstowcs( wAcc, pInfo->m_cAcc, 32);
//mbstowcs( wPwd, pInfo->m_cPwd, 32);
//mbstowcs( wReg, pInfo->m_cDbReg, 32);
//mbstowcs( wEnd, pInfo->m_cDbEnd, 32);
//mbstowcs( wEmail, pInfo->m_cEmail, 32);
aStr.sprintf(L"尊敬的顾客:您好!\n 您的账号是【%s】\n 密码是【%s】\n 注册时间是:%s \n 账号到期时间是:%s \n",
wAcc, wPwd, wReg, wEnd);
try
{
//IdMessage1->MessageParts->Clear();
IdMessage1->ClearBody();
IdMessage1->ClearHeader();
Memo1->Lines->Add("正在登录服务器");
IdMessage1->CharSet= "GB2312"; ////信的内容使用的字符集 "uft-8";
IdMessage1->ContentType= "text/html";//"multipart/alternative"; //"text/html";
IdMessage1->ContentTransferEncoding="base64";
IdMessage1->AttachmentEncoding="MIME"; //识别默认编码机制用于邮件部分
IdMessage1->Encoding=meDefault;
IdMessage1->Recipients->EMailAddresses = Edit1->Text; //邮件接收者的信箱
IdMessage1->From->Text = L"jswawa@126.com"; //邮件发送者的信箱
IdMessage1->Subject = L"ZZZ";
//邮件的标题
//IdMessage1->Body->Assign(Memo1->Lines); // 邮件的内容
IdMessage1->Body->Add(L"又成功了一次了 哎~");
//IdMessage1->Body->Add( aStr.t_str() ); // 邮件的内容
//IdMessage1->Body->Add( L"尊敬的顾客:您好!\n 尊敬的顾客:您好!\n " );
//IdMessage1->Body->Add( L"尊敬的顾客:您好!\n 尊敬的顾客:您好!\n " );
//IdMessage1->Body->Add( L"尊敬的顾客:您好!\n 尊敬的顾客:您好!\n " );
//IdMessage1->Body->Add( L"尊敬的顾客:您好!\n 尊敬的顾客:您好!\n " );
//IdMessage1->Body->Add( L"尊敬的顾客:您好!\n 尊敬的顾客:您好!\n " );
//IdMessage1->CCList->EMailAddresses = L"28206303@qq.com"; //邮件的抄送地址
//IdMessage1->MessageParts->Clear();
//IdMessage1->MessageParts->Add();
IdMessage1->SaveToFile("D:\\z.txt",false);
//IdSMTP1->AuthType = atLogin; //登录服务器类型选择
IdSMTP1->AuthType = satDefault;
IdSMTP1->Host = "smtp.126.com"; //SMTP服务器
IdSMTP1->Username = "jswawa"; //邮箱的用户名
IdSMTP1->Password = "198249198249"; //邮箱的密码
IdSMTP1->Port = 25; //端口
IdSMTP1->Connect(); //连接SMTP服务器
if (IdSMTP1->Authenticate()) //用户验证
{
Memo1->Lines->Add("登录服务器验证成功");
IdSMTP1->Send(IdMessage1); //发送邮件
//IdSMTP1->SendMsg(IdMessage1,false); //发送邮件
//IdSMTP1->Send( IdMessage1, NULL );
//ShowMsgOnMemo( aStr.sprintf(L"IP成功发送至%s", wEmail ).t_str() );
Memo1->Lines->Add("发送成功");
}
IdSMTP1->Disconnect();
}
catch(...)
{
Memo1->Lines->Add("失败!! 邮件无法发送");
if(IdSMTP1->Connected()) IdSMTP1->Disconnect();
return;
}
}
我用上面的代码发邮件,老是失败,偶尔成功。郁闷啊