BCB 2010 INDY控件貌似有问题, 2011的有人用过没?
2010自带的 IdSmtp 控件发邮件, 英文正常。 中文报 RangeCheck error ,据说是idsmtp的问题。
不知道2011的 有没有问题。。 。 哪位大侠用过啊 。
代码也贴出来吧。 谁有2011和2010的 可以试试,对比下, 呵呵。
(DM是个Data Module,上面放了一个IdSMTP和IdMessage控件)
DM->IdSMTP1->Host = "smtp.163.com";
DM->IdSMTP1->Port = 25;
DM->IdSMTP1->IOHandler = DM->m_IdSSLIOHandlerSocketOpenSSL;
DM->IdSMTP1->UseTLS = utNoTLSSupport;
DM->IdSMTP1->Username = L"name@163.com";
DM->IdSMTP1->Password = L"passwd" ;
DM->IdSMTP1->AuthType = satDefault;
DM->IdSMTP1->Authenticate();
DM->IdMessage1->ContentType = "text/html";
DM->IdMessage1->Subject = "TEST"; // 邮件标题,只要是汉字, 就会报错 RangeCheck error,英没问题. C++ BUILDER 2010自带的indy
DM->IdMessage1->ReceiptRecipient->Address = L"xxxxx@163.com";
if (!DM->IdSMTP1->Connected()) {
try {
DM->IdSMTP1->Connect();
}catch(...){
Application->MessageBox(L"连接邮件服务器失败!", L"提示", MB_OK + MB_ICONINFORMATION);
return;
}
}
if (DM->IdSMTP1->Connected()) {
try{
DM->IdSMTP1->Send(DM->IdMessage1);
}catch(...){
Application->MessageBox(L"发送邮件失败!", L"提示", MB_OK + MB_ICONWARNING);
return;
}
}
Application->MessageBox(L"邮件发送成功!", L"提示", MB_OK + MB_ICONINFORMATION);